Imported Upstream version 0.15.10 upstream upstream/0.15.10
authorAnas Nashif <anas.nashif@intel.com>
Tue, 30 Oct 2012 22:05:33 +0000 (15:05 -0700)
committerAnas Nashif <anas.nashif@intel.com>
Tue, 30 Oct 2012 22:05:33 +0000 (15:05 -0700)
515 files changed:
LICENSE [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
Makefile.in [new file with mode: 0644]
README [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
autoconf/Doxyfile [new file with mode: 0644]
autoconf/Doxyfile.in [new file with mode: 0644]
autoconf/c-ced.ssh [new file with mode: 0644]
autoconf/config.guess [new file with mode: 0755]
autoconf/config.sub [new file with mode: 0755]
autoconf/depcomp [new file with mode: 0755]
autoconf/install-sh [new file with mode: 0755]
autoconf/ltmain.sh [new file with mode: 0755]
autoconf/missing [new file with mode: 0755]
autoconf/mkinstalldirs [new file with mode: 0755]
autoconf/texinfo.tex [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
configure [new file with mode: 0755]
configure.in [new file with mode: 0644]
doc/Makefile.am [new file with mode: 0644]
doc/Makefile.in [new file with mode: 0644]
doc/ROADMAP [new file with mode: 0644]
doc/TODO [new file with mode: 0644]
doc/cloog.info [new file with mode: 0644]
doc/cloog.texi [new file with mode: 0644]
doc/gitversion.texi [new file with mode: 0644]
doc/images/basic.eps [new file with mode: 0644]
doc/images/basic.fig [new file with mode: 0644]
doc/images/basic.jpg [new file with mode: 0644]
doc/images/basic.pdf [new file with mode: 0644]
doc/images/basic.txt [new file with mode: 0644]
doc/images/tree.eps [new file with mode: 0644]
doc/images/tree.fig [new file with mode: 0644]
doc/images/tree.jpg [new file with mode: 0644]
doc/images/tree.pdf [new file with mode: 0644]
doc/images/tree.txt [new file with mode: 0644]
examples/README [new file with mode: 0644]
examples/example/Makefile [new file with mode: 0644]
examples/example/example.c [new file with mode: 0644]
genversion.sh.in [new file with mode: 0755]
include/cloog/block.h [new file with mode: 0644]
include/cloog/clast.h [new file with mode: 0644]
include/cloog/cloog-config.h.in [new file with mode: 0644]
include/cloog/cloog.h.in [new file with mode: 0644]
include/cloog/domain.h [new file with mode: 0644]
include/cloog/loop.h [new file with mode: 0644]
include/cloog/names.h [new file with mode: 0644]
include/cloog/options.h [new file with mode: 0644]
include/cloog/polylib_backend.h [new file with mode: 0644]
include/cloog/ppl_backend.h [new file with mode: 0644]
include/cloog/pprint.h [new file with mode: 0644]
include/cloog/program.h [new file with mode: 0644]
include/cloog/statement.h [new file with mode: 0644]
include/cloog/version.h [new file with mode: 0644]
include/cloog/version.h.in [new file with mode: 0644]
source/block.c [new file with mode: 0644]
source/cloog.c [new file with mode: 0644]
source/loop.c [new file with mode: 0644]
source/names.c [new file with mode: 0644]
source/options.c [new file with mode: 0644]
source/polylib/clast.c [new file with mode: 0644]
source/polylib/domain.c [new file with mode: 0644]
source/polylib/matrix.c [new file with mode: 0644]
source/polylib/matrix.h [new file with mode: 0644]
source/ppl/checking.c [new file with mode: 0644]
source/ppl/clast.c [new file with mode: 0644]
source/ppl/domain.c [new file with mode: 0644]
source/ppl/matrix.c [new file with mode: 0644]
source/ppl/matrix.h [new file with mode: 0644]
source/pprint.c [new file with mode: 0644]
source/program.c [new file with mode: 0644]
source/statement.c [new file with mode: 0644]
source/version.c [new file with mode: 0644]
test/1point-1.c.polylib [new file with mode: 0644]
test/1point-1.c.ppl [new file with mode: 0644]
test/1point-1.cloog [new file with mode: 0644]
test/1point-2.c.polylib [new file with mode: 0644]
test/1point-2.c.ppl [new file with mode: 0644]
test/1point-2.cloog [new file with mode: 0644]
test/4-param.c.polylib [new file with mode: 0644]
test/4-param.c.ppl [new file with mode: 0644]
test/4-param.cloog [new file with mode: 0644]
test/Makefile.am [new file with mode: 0644]
test/Makefile.in [new file with mode: 0644]
test/ard.cloog [new file with mode: 0644]
test/ard.dat [new file with mode: 0644]
test/basic-bounds-1.c.polylib [new file with mode: 0644]
test/basic-bounds-1.c.ppl [new file with mode: 0644]
test/basic-bounds-1.cloog [new file with mode: 0644]
test/basic-bounds-2.c.polylib [new file with mode: 0644]
test/basic-bounds-2.c.ppl [new file with mode: 0644]
test/basic-bounds-2.cloog [new file with mode: 0644]
test/basic-bounds-3.c.polylib [new file with mode: 0644]
test/basic-bounds-3.c.ppl [new file with mode: 0644]
test/basic-bounds-3.cloog [new file with mode: 0644]
test/basic-bounds-4.c.polylib [new file with mode: 0644]
test/basic-bounds-4.c.ppl [new file with mode: 0644]
test/basic-bounds-4.cloog [new file with mode: 0644]
test/basic-bounds-5.c.polylib [new file with mode: 0644]
test/basic-bounds-5.c.ppl [new file with mode: 0644]
test/basic-bounds-5.cloog [new file with mode: 0644]
test/basic-bounds-6.c.polylib [new file with mode: 0644]
test/basic-bounds-6.c.ppl [new file with mode: 0644]
test/basic-bounds-6.cloog [new file with mode: 0644]
test/bigs/applu.N.w2p12 [new file with mode: 0644]
test/bigs/applu.N.w2p21 [new file with mode: 0644]
test/bigs/applu12.loopgen [new file with mode: 0644]
test/bigs/applu21.loopgen [new file with mode: 0644]
test/bigs/apsi.N.w2p82 [new file with mode: 0644]
test/bigs/apsi.N.w2p89 [new file with mode: 0644]
test/bigs/dyfesm.N.w2p20 [new file with mode: 0644]
test/bigs/lucas_distrib_spec.N.w2p1 [new file with mode: 0644]
test/bigs/lucas_distrib_spec.N.w2p10 [new file with mode: 0644]
test/bigs/mg3d.N.w2p26 [new file with mode: 0644]
test/bigs/qcd.N.w2p47 [new file with mode: 0644]
test/bigs/qcd.N.w2p49 [new file with mode: 0644]
test/bigs/qcd.N.w2p8 [new file with mode: 0644]
test/bigs/quake.N.w2p26 [new file with mode: 0644]
test/byu98-1-2-3.c.polylib [new file with mode: 0644]
test/byu98-1-2-3.c.ppl [new file with mode: 0644]
test/byu98-1-2-3.cloog [new file with mode: 0644]
test/ceilfloor.cloog [new file with mode: 0644]
test/challenges/apsi.N.w2p56 [new file with mode: 0644]
test/challenges/challenge1.cloog [new file with mode: 0644]
test/challenges/lucas.N.w2p11 [new file with mode: 0644]
test/challenges/motionek1945.cloog [new file with mode: 0644]
test/challenges/test2.N.cloog [new file with mode: 0644]
test/challenges/test3.N.cloog [new file with mode: 0644]
test/cholesau_allocation.cloog [new file with mode: 0644]
test/cholesau_original.cloog [new file with mode: 0644]
test/cholesky.c.polylib [new file with mode: 0644]
test/cholesky.c.ppl [new file with mode: 0644]
test/cholesky.cloog [new file with mode: 0644]
test/cholesky2.c.polylib [new file with mode: 0644]
test/cholesky2.c.ppl [new file with mode: 0644]
test/cholesky2.cloog [new file with mode: 0644]
test/classen.c.polylib [new file with mode: 0644]
test/classen.c.ppl [new file with mode: 0644]
test/classen.cloog [new file with mode: 0644]
test/daegon_lu_osp.cloog [new file with mode: 0644]
test/darte.c.polylib [new file with mode: 0644]
test/darte.c.ppl [new file with mode: 0644]
test/darte.cloog [new file with mode: 0644]
test/dartef.cloog [new file with mode: 0644]
test/dartef.f.polylib [new file with mode: 0644]
test/dartef.f.ppl [new file with mode: 0644]
test/diagonal.cloog [new file with mode: 0644]
test/donotsimp.c.polylib [new file with mode: 0644]
test/donotsimp.c.ppl [new file with mode: 0644]
test/donotsimp.cloog [new file with mode: 0644]
test/dot.c.polylib [new file with mode: 0644]
test/dot.c.ppl [new file with mode: 0644]
test/dot.cloog [new file with mode: 0644]
test/dot2.c.polylib [new file with mode: 0644]
test/dot2.c.ppl [new file with mode: 0644]
test/dot2.cloog [new file with mode: 0644]
test/double.c.polylib [new file with mode: 0644]
test/double.c.ppl [new file with mode: 0644]
test/double.cloog [new file with mode: 0644]
test/durbin_e_s.c.polylib [new file with mode: 0644]
test/durbin_e_s.c.ppl [new file with mode: 0644]
test/durbin_e_s.cloog [new file with mode: 0644]
test/elimination.cloog [new file with mode: 0644]
test/emploi.c.polylib [new file with mode: 0644]
test/emploi.c.ppl [new file with mode: 0644]
test/emploi.cloog [new file with mode: 0644]
test/equality.c.polylib [new file with mode: 0644]
test/equality.c.ppl [new file with mode: 0644]
test/equality.cloog [new file with mode: 0644]
test/equality2.c.polylib [new file with mode: 0644]
test/equality2.c.ppl [new file with mode: 0644]
test/equality2.cloog [new file with mode: 0644]
test/esced.c.polylib [new file with mode: 0644]
test/esced.c.ppl [new file with mode: 0644]
test/esced.cloog [new file with mode: 0644]
test/escedk.c.polylib [new file with mode: 0644]
test/escedk.c.ppl [new file with mode: 0644]
test/escedk.cloog [new file with mode: 0644]
test/ex1.c.polylib [new file with mode: 0644]
test/ex1.c.ppl [new file with mode: 0644]
test/ex1.cloog [new file with mode: 0644]
test/faber.c.polylib [new file with mode: 0644]
test/faber.c.ppl [new file with mode: 0644]
test/faber.cloog [new file with mode: 0644]
test/forwardsub-1-1-2.c.polylib [new file with mode: 0644]
test/forwardsub-1-1-2.c.ppl [new file with mode: 0644]
test/forwardsub-1-1-2.cloog [new file with mode: 0644]
test/forwardsub-2-1-2-3.c.polylib [new file with mode: 0644]
test/forwardsub-2-1-2-3.c.ppl [new file with mode: 0644]
test/forwardsub-2-1-2-3.cloog [new file with mode: 0644]
test/forwardsub-3-1-2.c.polylib [new file with mode: 0644]
test/forwardsub-3-1-2.c.ppl [new file with mode: 0644]
test/forwardsub-3-1-2.cloog [new file with mode: 0644]
test/gauss.c.polylib [new file with mode: 0644]
test/gauss.c.ppl [new file with mode: 0644]
test/gauss.cloog [new file with mode: 0644]
test/gesced.c.polylib [new file with mode: 0644]
test/gesced.c.ppl [new file with mode: 0644]
test/gesced.cloog [new file with mode: 0644]
test/gesced2.c.polylib [new file with mode: 0644]
test/gesced2.c.ppl [new file with mode: 0644]
test/gesced2.cloog [new file with mode: 0644]
test/gesced3.c.polylib [new file with mode: 0644]
test/gesced3.c.ppl [new file with mode: 0644]
test/gesced3.cloog [new file with mode: 0644]
test/guide.c.polylib [new file with mode: 0644]
test/guide.c.ppl [new file with mode: 0644]
test/guide.cloog [new file with mode: 0644]
test/iftest.c.polylib [new file with mode: 0644]
test/iftest.c.ppl [new file with mode: 0644]
test/iftest.cloog [new file with mode: 0644]
test/iftest2.c.polylib [new file with mode: 0644]
test/iftest2.c.ppl [new file with mode: 0644]
test/iftest2.cloog [new file with mode: 0644]
test/iftestf.cloog [new file with mode: 0644]
test/iftestf.f.polylib [new file with mode: 0644]
test/iftestf.f.ppl [new file with mode: 0644]
test/infinite.c.polylib [new file with mode: 0644]
test/infinite.c.ppl [new file with mode: 0644]
test/infinite.cloog [new file with mode: 0644]
test/infinite.omega [new file with mode: 0644]
test/infinite2.c.polylib [new file with mode: 0644]
test/infinite2.c.ppl [new file with mode: 0644]
test/infinite2.cloog [new file with mode: 0644]
test/infinite3.c.polylib [new file with mode: 0644]
test/infinite3.c.ppl [new file with mode: 0644]
test/infinite3.cloog [new file with mode: 0644]
test/infinite4.c.polylib [new file with mode: 0644]
test/infinite4.c.ppl [new file with mode: 0644]
test/infinite4.cloog [new file with mode: 0644]
test/ispdc.cloog [new file with mode: 0644]
test/issues [new file with mode: 0644]
test/largeur.c.polylib [new file with mode: 0644]
test/largeur.c.ppl [new file with mode: 0644]
test/largeur.cloog [new file with mode: 0644]
test/levenshtein-1-2-3.c.polylib [new file with mode: 0644]
test/levenshtein-1-2-3.c.ppl [new file with mode: 0644]
test/levenshtein-1-2-3.cloog [new file with mode: 0644]
test/levenshtein-1-2-3f.c.polylib [new file with mode: 0644]
test/levenshtein-1-2-3f.c.ppl [new file with mode: 0644]
test/levenshtein-1-2-3f.cloog [new file with mode: 0644]
test/levenshtein-1-2-3f.f.polylib [new file with mode: 0644]
test/levenshtein-1-2-3f.f.ppl [new file with mode: 0644]
test/lineality-1-2.c.polylib [new file with mode: 0644]
test/lineality-1-2.c.ppl [new file with mode: 0644]
test/lineality-1-2.cloog [new file with mode: 0644]
test/lineality-2-1-2.c.polylib [new file with mode: 0644]
test/lineality-2-1-2.c.ppl [new file with mode: 0644]
test/lineality-2-1-2.cloog [new file with mode: 0644]
test/logo.c.polylib [new file with mode: 0644]
test/logo.c.ppl [new file with mode: 0644]
test/logo.cloog [new file with mode: 0644]
test/logopar.c.polylib [new file with mode: 0644]
test/logopar.c.ppl [new file with mode: 0644]
test/logopar.cloog [new file with mode: 0644]
test/lu.c.polylib [new file with mode: 0644]
test/lu.c.ppl [new file with mode: 0644]
test/lu.cloog [new file with mode: 0644]
test/lu2.c.polylib [new file with mode: 0644]
test/lu2.c.ppl [new file with mode: 0644]
test/lu2.cloog [new file with mode: 0644]
test/lub.c.polylib [new file with mode: 0644]
test/lub.c.ppl [new file with mode: 0644]
test/lub.cloog [new file with mode: 0644]
test/lux.c.polylib [new file with mode: 0644]
test/lux.c.ppl [new file with mode: 0644]
test/lux.cloog [new file with mode: 0644]
test/manual_basic.cloog [new file with mode: 0644]
test/manual_gauss.cloog [new file with mode: 0644]
test/manual_scattering.cloog [new file with mode: 0644]
test/merge.c.polylib [new file with mode: 0644]
test/merge.c.ppl [new file with mode: 0644]
test/merge.cloog [new file with mode: 0644]
test/min-1-1.c.polylib [new file with mode: 0644]
test/min-1-1.c.ppl [new file with mode: 0644]
test/min-1-1.cloog [new file with mode: 0644]
test/min-2-1.c.polylib [new file with mode: 0644]
test/min-2-1.c.ppl [new file with mode: 0644]
test/min-2-1.cloog [new file with mode: 0644]
test/min-3-1.c.polylib [new file with mode: 0644]
test/min-3-1.c.ppl [new file with mode: 0644]
test/min-3-1.cloog [new file with mode: 0644]
test/min-4-1.c.polylib [new file with mode: 0644]
test/min-4-1.c.ppl [new file with mode: 0644]
test/min-4-1.cloog [new file with mode: 0644]
test/mode.c.polylib [new file with mode: 0644]
test/mode.c.ppl [new file with mode: 0644]
test/mode.cloog [new file with mode: 0644]
test/multi-mm-1.c.polylib [new file with mode: 0644]
test/multi-mm-1.c.ppl [new file with mode: 0644]
test/multi-mm-1.cloog [new file with mode: 0644]
test/multi-stride.c.polylib [new file with mode: 0644]
test/multi-stride.c.ppl [new file with mode: 0644]
test/multi-stride.cloog [new file with mode: 0644]
test/multi-stride2.c.polylib [new file with mode: 0644]
test/multi-stride2.c.ppl [new file with mode: 0644]
test/multi-stride2.cloog [new file with mode: 0644]
test/no_lindep.c.polylib [new file with mode: 0644]
test/no_lindep.c.ppl [new file with mode: 0644]
test/no_lindep.cloog [new file with mode: 0644]
test/non_optimal/deuxpts.cloog [new file with mode: 0644]
test/non_optimal/dreamupT1.cloog [new file with mode: 0644]
test/non_optimal/dreamupT3-delta-gamma.cloog [new file with mode: 0644]
test/non_optimal/dreamupT3.cloog [new file with mode: 0644]
test/non_optimal/dreamupT3.omega [new file with mode: 0644]
test/non_optimal/interpolation-duration.cloog [new file with mode: 0644]
test/non_optimal/nul_complex1.c.polylib [new file with mode: 0644]
test/non_optimal/nul_complex1.c.ppl [new file with mode: 0644]
test/non_optimal/nul_complex1.cloog [new file with mode: 0644]
test/non_optimal/usvd_e_t.c.polylib [new file with mode: 0644]
test/non_optimal/usvd_e_t.c.ppl [new file with mode: 0644]
test/non_optimal/usvd_e_t.cloog [new file with mode: 0644]
test/non_optimal/youcef.c.polylib [new file with mode: 0644]
test/non_optimal/youcef.c.ppl [new file with mode: 0644]
test/non_optimal/youcef.cloog [new file with mode: 0644]
test/not_equal.c.polylib [new file with mode: 0644]
test/not_equal.c.ppl [new file with mode: 0644]
test/not_equal.cloog [new file with mode: 0644]
test/nul_basic1.c.polylib [new file with mode: 0644]
test/nul_basic1.c.ppl [new file with mode: 0644]
test/nul_basic1.cloog [new file with mode: 0644]
test/nul_basic2.c.polylib [new file with mode: 0644]
test/nul_basic2.c.ppl [new file with mode: 0644]
test/nul_basic2.cloog [new file with mode: 0644]
test/nul_girbal.cloog [new file with mode: 0644]
test/nul_ispdc.cloog [new file with mode: 0644]
test/nul_lcpc.c.polylib [new file with mode: 0644]
test/nul_lcpc.c.ppl [new file with mode: 0644]
test/nul_lcpc.cloog [new file with mode: 0644]
test/oc.out [new file with mode: 0644]
test/orc.c.polylib [new file with mode: 0644]
test/orc.c.ppl [new file with mode: 0644]
test/orc.cloog [new file with mode: 0644]
test/overlap.cloog [new file with mode: 0644]
test/published/CC2003/esced.cloog [new file with mode: 0644]
test/published/CC2006/QR.cloog [new file with mode: 0644]
test/published/CC2006/classen2.cloog [new file with mode: 0644]
test/published/CC2006/dreamupT3.cloog [new file with mode: 0644]
test/published/CC2006/swim.B.MAIN__.scop7.cloog [new file with mode: 0755]
test/published/PACT2004/youcefn.cloog [new file with mode: 0644]
test/published/Web/web1.cloog [new file with mode: 0644]
test/published/Web/web2.cloog [new file with mode: 0644]
test/published/Web/web3.cloog [new file with mode: 0644]
test/published/Web/web4.cloog [new file with mode: 0644]
test/published/Web/web5.cloog [new file with mode: 0644]
test/published/Web/web6.cloog [new file with mode: 0644]
test/published/Web/web7.cloog [new file with mode: 0644]
test/quillere.cloog [new file with mode: 0644]
test/rational.cloog [new file with mode: 0644]
test/readme.cloog [new file with mode: 0644]
test/rectangle.c.polylib [new file with mode: 0644]
test/rectangle.c.ppl [new file with mode: 0644]
test/rectangle.cloog [new file with mode: 0644]
test/reports/fabrice_baray_29-10-2004 [new file with mode: 0644]
test/reports/kim_daegon_27-04-2005.eml [new file with mode: 0644]
test/reports/kristof_beyls_16-05-2005.txt [new file with mode: 0644]
test/reports/michael_classen_03-05-2005.eml [new file with mode: 0644]
test/reports/michael_classen_27-10-2004.txt [new file with mode: 0644]
test/reports/nicolas_vasilache_03-05-2005.eml [new file with mode: 0644]
test/reports/nicolas_vasilache_09-05-2005.txt [new file with mode: 0644]
test/reports/sergej_schwenk_01-06-2004.txt [new file with mode: 0644]
test/reports/sylvain_girbal_01-11-2004.txt [new file with mode: 0644]
test/reports/sylvain_girbal_24-02-2004.txt [new file with mode: 0644]
test/reservoir/QR.c.polylib [new file with mode: 0644]
test/reservoir/QR.c.ppl [new file with mode: 0644]
test/reservoir/QR.cloog [new file with mode: 0755]
test/reservoir/bastoul3.c.polylib [new file with mode: 0644]
test/reservoir/bastoul3.c.ppl [new file with mode: 0644]
test/reservoir/bastoul3.cloog [new file with mode: 0644]
test/reservoir/cholesky2.c.polylib [new file with mode: 0644]
test/reservoir/cholesky2.c.ppl [new file with mode: 0644]
test/reservoir/cholesky2.cloog [new file with mode: 0755]
test/reservoir/fusion1.c.polylib [new file with mode: 0644]
test/reservoir/fusion1.c.ppl [new file with mode: 0644]
test/reservoir/fusion1.cloog [new file with mode: 0755]
test/reservoir/fusion2.c.polylib [new file with mode: 0644]
test/reservoir/fusion2.c.ppl [new file with mode: 0644]
test/reservoir/fusion2.cloog [new file with mode: 0755]
test/reservoir/jacobi2.c.polylib [new file with mode: 0644]
test/reservoir/jacobi2.c.ppl [new file with mode: 0644]
test/reservoir/jacobi2.cloog [new file with mode: 0755]
test/reservoir/jacobi3.c.polylib [new file with mode: 0644]
test/reservoir/jacobi3.c.ppl [new file with mode: 0644]
test/reservoir/jacobi3.cloog [new file with mode: 0755]
test/reservoir/lim-lam1.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam1.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam1.cloog [new file with mode: 0644]
test/reservoir/lim-lam2.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam2.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam2.cloog [new file with mode: 0755]
test/reservoir/lim-lam3.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam3.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam3.cloog [new file with mode: 0755]
test/reservoir/lim-lam4.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam4.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam4.cloog [new file with mode: 0755]
test/reservoir/lim-lam5.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam5.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam5.cloog [new file with mode: 0755]
test/reservoir/lim-lam6.c.polylib [new file with mode: 0644]
test/reservoir/lim-lam6.c.ppl [new file with mode: 0644]
test/reservoir/lim-lam6.cloog [new file with mode: 0755]
test/reservoir/liu-zhuge1.c.polylib [new file with mode: 0644]
test/reservoir/liu-zhuge1.c.ppl [new file with mode: 0644]
test/reservoir/liu-zhuge1.cloog [new file with mode: 0755]
test/reservoir/loechner3.c.polylib [new file with mode: 0644]
test/reservoir/loechner3.c.ppl [new file with mode: 0644]
test/reservoir/loechner3.cloog [new file with mode: 0755]
test/reservoir/loechner4.c.polylib [new file with mode: 0644]
test/reservoir/loechner4.c.ppl [new file with mode: 0644]
test/reservoir/loechner4.cloog [new file with mode: 0755]
test/reservoir/loechner5.c.polylib [new file with mode: 0644]
test/reservoir/loechner5.c.ppl [new file with mode: 0644]
test/reservoir/loechner5.cloog [new file with mode: 0755]
test/reservoir/long.c.polylib [new file with mode: 0644]
test/reservoir/long.c.ppl [new file with mode: 0644]
test/reservoir/long.cloog [new file with mode: 0644]
test/reservoir/makefile [new file with mode: 0644]
test/reservoir/mg-interp.c.polylib [new file with mode: 0644]
test/reservoir/mg-interp.c.ppl [new file with mode: 0644]
test/reservoir/mg-interp.cloog [new file with mode: 0755]
test/reservoir/mg-interp2.c.polylib [new file with mode: 0644]
test/reservoir/mg-interp2.c.ppl [new file with mode: 0644]
test/reservoir/mg-interp2.cloog [new file with mode: 0755]
test/reservoir/mg-psinv.c.polylib [new file with mode: 0644]
test/reservoir/mg-psinv.c.ppl [new file with mode: 0644]
test/reservoir/mg-psinv.cloog [new file with mode: 0755]
test/reservoir/mg-resid.c.polylib [new file with mode: 0644]
test/reservoir/mg-resid.c.ppl [new file with mode: 0644]
test/reservoir/mg-resid.cloog [new file with mode: 0755]
test/reservoir/mg-rprj3.c.polylib [new file with mode: 0644]
test/reservoir/mg-rprj3.c.ppl [new file with mode: 0644]
test/reservoir/mg-rprj3.cloog [new file with mode: 0755]
test/reservoir/pingali1.c.polylib [new file with mode: 0644]
test/reservoir/pingali1.c.ppl [new file with mode: 0644]
test/reservoir/pingali1.cloog [new file with mode: 0755]
test/reservoir/pingali2.c.polylib [new file with mode: 0644]
test/reservoir/pingali2.c.ppl [new file with mode: 0644]
test/reservoir/pingali2.cloog [new file with mode: 0755]
test/reservoir/pingali3.c.polylib [new file with mode: 0644]
test/reservoir/pingali3.c.ppl [new file with mode: 0644]
test/reservoir/pingali3.cloog [new file with mode: 0755]
test/reservoir/pingali4.c.polylib [new file with mode: 0644]
test/reservoir/pingali4.c.ppl [new file with mode: 0644]
test/reservoir/pingali4.cloog [new file with mode: 0755]
test/reservoir/pingali5.c.polylib [new file with mode: 0644]
test/reservoir/pingali5.c.ppl [new file with mode: 0644]
test/reservoir/pingali5.cloog [new file with mode: 0755]
test/reservoir/pingali6.c.polylib [new file with mode: 0644]
test/reservoir/pingali6.c.ppl [new file with mode: 0644]
test/reservoir/pingali6.cloog [new file with mode: 0755]
test/reservoir/stride.c.polylib [new file with mode: 0644]
test/reservoir/stride.c.ppl [new file with mode: 0644]
test/reservoir/stride.cloog [new file with mode: 0644]
test/reservoir/stride2.c.polylib [new file with mode: 0644]
test/reservoir/stride2.c.ppl [new file with mode: 0644]
test/reservoir/stride2.cloog [new file with mode: 0644]
test/reservoir/tang-xue1.c.polylib [new file with mode: 0644]
test/reservoir/tang-xue1.c.ppl [new file with mode: 0644]
test/reservoir/tang-xue1.cloog [new file with mode: 0644]
test/reservoir/two.c.polylib [new file with mode: 0644]
test/reservoir/two.c.ppl [new file with mode: 0644]
test/reservoir/two.cloog [new file with mode: 0644]
test/square+triangle-1-1-2-3.c.polylib [new file with mode: 0644]
test/square+triangle-1-1-2-3.c.ppl [new file with mode: 0644]
test/square+triangle-1-1-2-3.cloog [new file with mode: 0644]
test/stage.cloog [new file with mode: 0755]
test/swim.c.polylib [new file with mode: 0644]
test/swim.c.ppl [new file with mode: 0644]
test/swim.cloog [new file with mode: 0644]
test/test.c.polylib [new file with mode: 0644]
test/test.c.ppl [new file with mode: 0644]
test/test.cloog [new file with mode: 0644]
test/tete.cloog [new file with mode: 0644]
test/thomasset.c.polylib [new file with mode: 0644]
test/thomasset.c.ppl [new file with mode: 0644]
test/thomasset.cloog [new file with mode: 0644]
test/tiling.c.polylib [new file with mode: 0644]
test/tiling.c.ppl [new file with mode: 0644]
test/tiling.cloog [new file with mode: 0644]
test/tiling2.cloog [new file with mode: 0644]
test/tiling3.cloog [new file with mode: 0644]
test/uday_scalars.c.polylib [new file with mode: 0644]
test/uday_scalars.c.ppl [new file with mode: 0644]
test/uday_scalars.cloog [new file with mode: 0644]
test/urgent/matmul.B.main.scop1.cloog [new file with mode: 0755]
test/urgent/matmul.cloog [new file with mode: 0644]
test/urgent/matmul1.cloog [new file with mode: 0644]
test/urgent/scop7.cloog [new file with mode: 0644]
test/urgent/swim.cloog [new file with mode: 0644]
test/urgent/swim7.cloog [new file with mode: 0644]
test/vasilache.c.polylib [new file with mode: 0644]
test/vasilache.c.ppl [new file with mode: 0644]
test/vasilache.cloog [new file with mode: 0644]
test/vivien.c.polylib [new file with mode: 0644]
test/vivien.c.ppl [new file with mode: 0644]
test/vivien.cloog [new file with mode: 0644]
test/vivien2.c.polylib [new file with mode: 0644]
test/vivien2.c.ppl [new file with mode: 0644]
test/vivien2.cloog [new file with mode: 0644]
test/wavefront.c.polylib [new file with mode: 0644]
test/wavefront.c.ppl [new file with mode: 0644]
test/wavefront.cloog [new file with mode: 0644]
test/yosr.c.polylib [new file with mode: 0644]
test/yosr.c.ppl [new file with mode: 0644]
test/yosr.cloog [new file with mode: 0644]
test/yosr.omega [new file with mode: 0644]
test/yosr2.c.polylib [new file with mode: 0644]
test/yosr2.c.ppl [new file with mode: 0644]
test/yosr2.cloog [new file with mode: 0644]
test/yosr_sync.cloog [new file with mode: 0644]
test/yosrf.cloog [new file with mode: 0644]
test/yosrf.f.polylib [new file with mode: 0644]
test/yosrf.f.ppl [new file with mode: 0644]
test/youcefn.cloog [new file with mode: 0644]

diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..e58e623
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,259 @@
+GNU GENERAL PUBLIC LICENSE
+
+                             Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
+Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute verbatim
+copies of this license document, but changing it is not allowed.
+
+                                   Preamble
+
+The licenses for most software are designed to take away your freedom to share
+and change it. By contrast, the GNU General Public License is intended to
+guarantee your freedom to share and change free software--to make sure the
+software is free for all its users. This General Public License applies to most
+of the Free Software Foundation's software and to any other program whose
+authors commit to using it. (Some other Free Software Foundation software is
+covered by the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom to
+distribute copies of free software (and charge for this service if you wish),
+that you receive source code or can get it if you want it, that you can change
+the software or use pieces of it in new free programs; and that you know you
+can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny
+you these rights or to ask you to surrender the rights. These restrictions
+translate to certain responsibilities for you if you distribute copies of the
+software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for
+a fee, you must give the recipients all the rights that you have. You must make
+sure that they, too, receive or can get the source code. And you must show them
+these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2)
+offer you this license which gives you legal permission to copy, distribute
+and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that
+everyone understands that there is no warranty for this free software. If the
+software is modified by someone else and passed on, we want its recipients to
+know that what they have is not the original, so that any problems introduced
+by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish
+to avoid the danger that redistributors of a free program will individually
+obtain patent licenses, in effect making the program proprietary. To prevent
+this, we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+                         GNU GENERAL PUBLIC LICENSE
+      TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice
+placed by the copyright holder saying it may be distributed under the terms of
+this General Public License. The "Program", below, refers to any such program
+or work, and a "work based on the Program" means either the Program or any
+derivative work under copyright law: that is to say, a work containing the
+Program or a portion of it, either verbatim or with modifications and/or
+translated into another language. (Hereinafter, translation is included without
+limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by
+this License; they are outside its scope. The act of running the Program is not
+restricted, and the output from the Program is covered only if its contents
+constitute a work based on the Program (independent of having been made by
+running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as
+you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this License
+and to the absence of any warranty; and give any other recipients of the
+Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may
+at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus
+forming a work based on the Program, and copy and distribute such modifications
+or work under the terms of Section 1 above, provided that you also meet all of
+these conditions:
+
+a) You must cause the modified files to carry prominent notices stating that
+you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in whole or in
+part contains or is derived from the Program or any part thereof, to be
+licensed as a whole at no charge to all third parties under the terms of this
+License.
+
+c) If the modified program normally reads commands interactively when run, you
+must cause it, when started running for such interactive use in the most
+ordinary way, to print or display an announcement including an appropriate
+copyright notice and a notice that there is no warranty (or else, saying that
+you provide a warranty) and that users may redistribute the program under these
+conditions, and telling the user how to view a copy of this License.
+(Exception: if the Program itself is interactive but does not normally print
+such an announcement, your work based on the Program is not required to print
+an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable
+sections of that work are not derived from the Program, and can be reasonably
+considered independent and separate works in themselves, then this License, and
+its terms, do not apply to those sections when you distribute them as separate
+works. But when you distribute the same sections as part of a whole which is a
+work based on the Program, the distribution of the whole must be on the terms
+of this License, whose permissions for other licensees extend to the entire
+whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your
+rights to work written entirely by you; rather, the intent is to exercise the
+right to control the distribution of derivative or collective works based on
+the Program.
+
+In addition, mere aggregation of another work not based on the Program with the
+Program (or with a work based on the Program) on a volume of a storage or
+distribution medium does not bring the other work under the scope of this
+License.
+
+3. You may copy and distribute the Program (or a work based on it, under
+Section 2) in object code or executable form under the terms of Sections 1 and
+2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable source code,
+which must be distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three years, to give
+any third party, for a charge no more than your cost of physically performing
+source distribution, a complete machine-readable copy of the corresponding
+source code, to be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer to distribute
+corresponding source code. (This alternative is allowed only for noncommercial
+distribution and only if you received the program in object code or executable
+form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making
+modifications to it. For an executable work, complete source code means all the
+source code for all modules it contains, plus any associated interface
+definition files, plus the scripts used to control compilation and installation
+of the executable. However, as a special exception, the source code distributed
+need not include anything that is normally distributed (in either source or
+binary form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component itself
+accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the source
+code from the same place counts as distribution of the source code, even though
+third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as
+expressly provided under this License. Any attempt otherwise to copy, modify,
+sublicense or distribute the Program is void, and will automatically terminate
+your rights under this License. However, parties who have received copies, or
+rights, from you under this License will not have their licenses terminated so
+long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it.
+However, nothing else grants you permission to modify or distribute the Program
+or its derivative works. These actions are prohibited by law if you do not
+accept this License. Therefore, by modifying or distributing the Program (or
+any work based on the Program), you indicate your acceptance of this License to
+do so, and all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program),
+the recipient automatically receives a license from the original licensor to
+copy, distribute or modify the Program subject to these terms and conditions.
+You may not impose any further restrictions on the recipients' exercise of the
+rights granted herein. You are not responsible for enforcing compliance by
+third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues), conditions
+are imposed on you (whether by court order, agreement or otherwise) that
+contradict the conditions of this License, they do not excuse you from the
+conditions of this License. If you cannot distribute so as to satisfy
+simultaneously your obligations under this License and any other pertinent
+obligations, then as a consequence you may not distribute the Program at all.
+For example, if a patent license would not permit royalty-free redistribution
+of the Program by all those who receive copies directly or indirectly through
+you, then the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply and
+the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or
+other property right claims or to contest validity of any such claims; this
+section has the sole purpose of protecting the integrity of the free software
+distribution system, which is implemented by public license practices. Many
+people have made generous contributions to the wide range of software
+distributed through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing to
+distribute software through any other system and a licensee cannot impose that
+choice.
+
+This section is intended to make thoroughly clear what is believed to be a
+consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain
+countries either by patents or by copyrighted interfaces, the original
+copyright holder who places the Program under this License may add an explicit
+geographical distribution limitation excluding those countries, so that
+distribution is permitted only in or among countries not thus excluded. In such
+case, this License incorporates the limitation as if written in the body of
+this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the
+General Public License from time to time. Such new versions will be similar in
+spirit to the present version, but may differ in detail to address new problems
+or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies
+a version number of this License which applies to it and "any later version",
+you have the option of following the terms and conditions either of that
+version or of any later version published by the Free Software Foundation. If
+the Program does not specify a version number of this License, you may choose
+any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs
+whose distribution conditions are different, write to the author to ask for
+permission. For software which is copyrighted by the Free Software Foundation,
+write to the Free Software Foundation; we sometimes make exceptions for this.
+Our decision will be guided by the two goals of preserving the free status of
+all derivatives of our free software and of promoting the sharing and reuse of
+software generally.
+
+                                 NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
+THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
+STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
+PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
+PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
+YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
+ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
+OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
+DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR
+A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
+HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+                        END OF TERMS AND CONDITIONS
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..d12a949
--- /dev/null
@@ -0,0 +1,118 @@
+#
+#   /**-------------------------------------------------------------------**
+#    **                              CLooG                                **
+#    **-------------------------------------------------------------------**
+#    **                           makefile.in                             **
+#    **-------------------------------------------------------------------**
+#    **                   First version: october 25th 2001                **
+#    **-------------------------------------------------------------------**/
+#
+# makefile.in (or makefile if generated) of CLooG, the Chunky LOOp Generator.
+# makefile.in is not a makefile, you must run the 'configure' shellscript to
+# generate the makefile thanks to this file.
+
+#/*****************************************************************************
+# *               CLooG : the Chunky Loop Generator (experimental)            *
+# *****************************************************************************
+# *                                                                           *
+# * Copyright (C) 2001 Cedric Bastoul                                         *
+# *                                                                           *
+# * This is free software; you can redistribute it and/or modify it under the *
+# * terms of the GNU General Public License as published by the Free Software *
+# * Foundation; either version 2 of the License, or (at your option) any      *
+# * later version.                                                           *
+# *                                                                           *
+# * This software is distributed in the hope that it will be useful, but      *
+# * WITHOUT ANY WARRANTY; without even the implied warranty of                *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General *
+# * Public License for more details.                                          *
+# *                                                                           *
+# * You should have received a copy of the GNU General Public License along   *
+# * with software; if not, write to the Free Software Foundation, Inc.,       *
+# * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                    *
+# *                                                                           *
+# * CLooG, the Chunky Loop Generator                                          *
+# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                        *
+# *                                                                           *
+# *****************************************************************************/
+
+SUBDIRS = . doc test
+
+ACLOCAL_AMFLAGS = -I m4
+
+bin_PROGRAMS = cloog
+lib_LTLIBRARIES = libcloog.la
+
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+AM_CFLAGS = -Wall -fomit-frame-pointer
+libcloog_la_SOURCES = \
+       source/block.c \
+       source/loop.c \
+       source/names.c \
+       source/options.c \
+       source/@POLYHEDRAL_BACKEND@/clast.c \
+       source/@POLYHEDRAL_BACKEND@/domain.c \
+       source/@POLYHEDRAL_BACKEND@/matrix.c \
+       source/@POLYHEDRAL_BACKEND@/matrix.h \
+       source/pprint.c \
+       source/program.c \
+       source/statement.c \
+       source/version.c
+LDADD = libcloog.la
+cloog_SOURCES = source/cloog.c
+
+pkginclude_HEADERS = \
+       include/cloog/block.h \
+       include/cloog/clast.h \
+       include/cloog/cloog.h \
+       include/cloog/domain.h \
+       include/cloog/loop.h \
+       include/cloog/names.h \
+       include/cloog/options.h \
+       include/cloog/polylib_backend.h \
+       include/cloog/ppl_backend.h \
+       include/cloog/pprint.h \
+       include/cloog/program.h \
+       include/cloog/statement.h \
+       include/cloog/version.h \
+       include/cloog/cloog-config.h
+
+version.h: @GIT_INDEX@
+       echo '#define CLOOG_HEAD "'`$(top_builddir)/genversion.sh`'"' > $@
+
+EXTRA_DIST = autoconf/Doxyfile.in doc/images test
+
+dist-hook:
+       rm -f $(distdir)/test/Makefile
+       $(top_builddir)/genversion.sh > $(distdir)/CLOOG_HEAD
+       (cd doc; make cloog.pdf) && cp doc/cloog.pdf $(distdir)/doc/
+
+#/*****************************************************************************
+# *                                   Rules                                   *
+# *****************************************************************************/
+
+check:
+       $(MAKE) test -C test
+
+valcheck:
+       $(MAKE) valgrind -C test
+
+total:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                     CLooG                     *"
+       @echo "              *-----------------------------------------------*/"
+       $(MAKE) uninstall
+       $(MAKE) clean
+       $(MAKE)
+       $(MAKE) install
+
+doc:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *        Generating CLooG's documentation       *"
+       @echo "              *-----------------------------------------------*/"
+       doxygen ./autoconf/Doxyfile
+
+clean-local:
+       rm $(top_builddir)/version.h
+       rm $(top_builddir)/doc/gitversion.texi
+
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..27065ca
--- /dev/null
@@ -0,0 +1,1024 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+#   /**-------------------------------------------------------------------**
+#    **                              CLooG                                **
+#    **-------------------------------------------------------------------**
+#    **                           makefile.in                             **
+#    **-------------------------------------------------------------------**
+#    **                   First version: october 25th 2001                **
+#    **-------------------------------------------------------------------**/
+#
+# makefile.in (or makefile if generated) of CLooG, the Chunky LOOp Generator.
+# makefile.in is not a makefile, you must run the 'configure' shellscript to
+# generate the makefile thanks to this file.
+
+#/*****************************************************************************
+# *               CLooG : the Chunky Loop Generator (experimental)            *
+# *****************************************************************************
+# *                                                                           *
+# * Copyright (C) 2001 Cedric Bastoul                                         *
+# *                                                                           *
+# * This is free software; you can redistribute it and/or modify it under the *
+# * terms of the GNU General Public License as published by the Free Software *
+# * Foundation; either version 2 of the License, or (at your option) any      *
+# * later version.                                                           *
+# *                                                                           *
+# * This software is distributed in the hope that it will be useful, but      *
+# * WITHOUT ANY WARRANTY; without even the implied warranty of                *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General *
+# * Public License for more details.                                          *
+# *                                                                           *
+# * You should have received a copy of the GNU General Public License along   *
+# * with software; if not, write to the Free Software Foundation, Inc.,       *
+# * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                    *
+# *                                                                           *
+# * CLooG, the Chunky Loop Generator                                          *
+# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                        *
+# *                                                                           *
+# *****************************************************************************/
+
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = cloog$(EXEEXT)
+DIST_COMMON = README $(am__configure_deps) $(pkginclude_HEADERS) \
+       $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/genversion.sh.in $(top_srcdir)/autoconf/Doxyfile.in \
+       $(top_srcdir)/configure \
+       $(top_srcdir)/include/cloog/cloog-config.h.in \
+       $(top_srcdir)/include/cloog/cloog.h.in autoconf/config.guess \
+       autoconf/config.sub autoconf/depcomp autoconf/install-sh \
+       autoconf/ltmain.sh autoconf/missing autoconf/mkinstalldirs \
+       autoconf/texinfo.tex
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+       $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/cloog/cloog-config.h
+CONFIG_CLEAN_FILES = include/cloog/cloog.h autoconf/Doxyfile \
+       genversion.sh
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
+       "$(DESTDIR)$(pkgincludedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcloog_la_LIBADD =
+am_libcloog_la_OBJECTS = block.lo loop.lo names.lo options.lo clast.lo \
+       domain.lo matrix.lo pprint.lo program.lo statement.lo \
+       version.lo
+libcloog_la_OBJECTS = $(am_libcloog_la_OBJECTS)
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_cloog_OBJECTS = cloog.$(OBJEXT)
+cloog_OBJECTS = $(am_cloog_OBJECTS)
+cloog_LDADD = $(LDADD)
+cloog_DEPENDENCIES = libcloog.la
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include/cloog
+depcomp = $(SHELL) $(top_srcdir)/autoconf/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
+       $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+       $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libcloog_la_SOURCES) $(cloog_SOURCES)
+DIST_SOURCES = $(libcloog_la_SOURCES) $(cloog_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-exec-recursive install-info-recursive \
+       install-recursive installcheck-recursive installdirs-recursive \
+       pdf-recursive ps-recursive uninstall-info-recursive \
+       uninstall-recursive
+pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(pkginclude_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+INSTALL = @INSTALL@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITS = @BITS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CD = @CD@
+CFLAGS = @CFLAGS@
+CLOOG_VERSION_BETA = @CLOOG_VERSION_BETA@
+CLOOG_VERSION_MAJOR = @CLOOG_VERSION_MAJOR@
+CLOOG_VERSION_MINOR = @CLOOG_VERSION_MINOR@
+CLOOG_VERSION_REVISION = @CLOOG_VERSION_REVISION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GIT_INDEX = @GIT_INDEX@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POLYHEDRAL_BACKEND = @POLYHEDRAL_BACKEND@
+POLYLIB_CPPFLAGS = @POLYLIB_CPPFLAGS@
+POLYLIB_LDFLAGS = @POLYLIB_LDFLAGS@
+POLYLIB_LIBS = @POLYLIB_LIBS@
+PPL_CPPFLAGS = @PPL_CPPFLAGS@
+PPL_LDFLAGS = @PPL_LDFLAGS@
+PPL_LIBS = @PPL_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHEXT = @SHEXT@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+cl_cv_polylib = @cl_cv_polylib@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+SUBDIRS = . doc test
+ACLOCAL_AMFLAGS = -I m4
+lib_LTLIBRARIES = libcloog.la
+INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include
+AM_CFLAGS = -Wall -fomit-frame-pointer
+libcloog_la_SOURCES = \
+       source/block.c \
+       source/loop.c \
+       source/names.c \
+       source/options.c \
+       source/@POLYHEDRAL_BACKEND@/clast.c \
+       source/@POLYHEDRAL_BACKEND@/domain.c \
+       source/@POLYHEDRAL_BACKEND@/matrix.c \
+       source/@POLYHEDRAL_BACKEND@/matrix.h \
+       source/pprint.c \
+       source/program.c \
+       source/statement.c \
+       source/version.c
+
+LDADD = libcloog.la
+cloog_SOURCES = source/cloog.c
+pkginclude_HEADERS = \
+       include/cloog/block.h \
+       include/cloog/clast.h \
+       include/cloog/cloog.h \
+       include/cloog/domain.h \
+       include/cloog/loop.h \
+       include/cloog/names.h \
+       include/cloog/options.h \
+       include/cloog/polylib_backend.h \
+       include/cloog/ppl_backend.h \
+       include/cloog/pprint.h \
+       include/cloog/program.h \
+       include/cloog/statement.h \
+       include/cloog/version.h \
+       include/cloog/cloog-config.h
+
+EXTRA_DIST = autoconf/Doxyfile.in doc/images test
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+am--refresh:
+       @:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+             cd $(srcdir) && $(AUTOMAKE) --foreign  \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           echo ' $(SHELL) ./config.status'; \
+           $(SHELL) ./config.status;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+include/cloog/cloog-config.h: include/cloog/stamp-h1
+       @if test ! -f $@; then \
+         rm -f include/cloog/stamp-h1; \
+         $(MAKE) include/cloog/stamp-h1; \
+       else :; fi
+
+include/cloog/stamp-h1: $(top_srcdir)/include/cloog/cloog-config.h.in $(top_builddir)/config.status
+       @rm -f include/cloog/stamp-h1
+       cd $(top_builddir) && $(SHELL) ./config.status include/cloog/cloog-config.h
+$(top_srcdir)/include/cloog/cloog-config.h.in:  $(am__configure_deps) 
+       cd $(top_srcdir) && $(AUTOHEADER)
+       rm -f include/cloog/stamp-h1
+       touch $@
+
+distclean-hdr:
+       -rm -f include/cloog/cloog-config.h include/cloog/stamp-h1
+include/cloog/cloog.h: $(top_builddir)/config.status $(top_srcdir)/include/cloog/cloog.h.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+autoconf/Doxyfile: $(top_builddir)/config.status $(top_srcdir)/autoconf/Doxyfile.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+genversion.sh: $(top_builddir)/config.status $(srcdir)/genversion.sh.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+       test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
+       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         if test -f $$p; then \
+           f=$(am__strip_dir) \
+           echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+           $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+         else :; fi; \
+       done
+
+uninstall-libLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+       @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         p=$(am__strip_dir) \
+         echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+         $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+       done
+
+clean-libLTLIBRARIES:
+       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+         test "$$dir" != "$$p" || dir=.; \
+         echo "rm -f \"$${dir}/so_locations\""; \
+         rm -f "$${dir}/so_locations"; \
+       done
+libcloog.la: $(libcloog_la_OBJECTS) $(libcloog_la_DEPENDENCIES) 
+       $(LINK) -rpath $(libdir) $(libcloog_la_LDFLAGS) $(libcloog_la_OBJECTS) $(libcloog_la_LIBADD) $(LIBS)
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         if test -f $$p \
+            || test -f $$p1 \
+         ; then \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+          $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+         rm -f "$(DESTDIR)$(bindir)/$$f"; \
+       done
+
+clean-binPROGRAMS:
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         echo " rm -f $$p $$f"; \
+         rm -f $$p $$f ; \
+       done
+cloog$(EXEEXT): $(cloog_OBJECTS) $(cloog_DEPENDENCIES) 
+       @rm -f cloog$(EXEEXT)
+       $(LINK) $(cloog_LDFLAGS) $(cloog_OBJECTS) $(cloog_LDADD) $(LIBS)
+
+mostlyclean-compile:
+       -rm -f *.$(OBJEXT)
+
+distclean-compile:
+       -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/block.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clast.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cloog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/domain.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/names.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pprint.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/program.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statement.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@   if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@   if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
+
+block.lo: source/block.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT block.lo -MD -MP -MF "$(DEPDIR)/block.Tpo" -c -o block.lo `test -f 'source/block.c' || echo '$(srcdir)/'`source/block.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/block.Tpo" "$(DEPDIR)/block.Plo"; else rm -f "$(DEPDIR)/block.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/block.c' object='block.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o block.lo `test -f 'source/block.c' || echo '$(srcdir)/'`source/block.c
+
+loop.lo: source/loop.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT loop.lo -MD -MP -MF "$(DEPDIR)/loop.Tpo" -c -o loop.lo `test -f 'source/loop.c' || echo '$(srcdir)/'`source/loop.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/loop.Tpo" "$(DEPDIR)/loop.Plo"; else rm -f "$(DEPDIR)/loop.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/loop.c' object='loop.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o loop.lo `test -f 'source/loop.c' || echo '$(srcdir)/'`source/loop.c
+
+names.lo: source/names.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT names.lo -MD -MP -MF "$(DEPDIR)/names.Tpo" -c -o names.lo `test -f 'source/names.c' || echo '$(srcdir)/'`source/names.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/names.Tpo" "$(DEPDIR)/names.Plo"; else rm -f "$(DEPDIR)/names.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/names.c' object='names.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o names.lo `test -f 'source/names.c' || echo '$(srcdir)/'`source/names.c
+
+options.lo: source/options.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT options.lo -MD -MP -MF "$(DEPDIR)/options.Tpo" -c -o options.lo `test -f 'source/options.c' || echo '$(srcdir)/'`source/options.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/options.Tpo" "$(DEPDIR)/options.Plo"; else rm -f "$(DEPDIR)/options.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/options.c' object='options.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o options.lo `test -f 'source/options.c' || echo '$(srcdir)/'`source/options.c
+
+clast.lo: source/@POLYHEDRAL_BACKEND@/clast.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT clast.lo -MD -MP -MF "$(DEPDIR)/clast.Tpo" -c -o clast.lo `test -f 'source/@POLYHEDRAL_BACKEND@/clast.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/clast.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/clast.Tpo" "$(DEPDIR)/clast.Plo"; else rm -f "$(DEPDIR)/clast.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/@POLYHEDRAL_BACKEND@/clast.c' object='clast.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o clast.lo `test -f 'source/@POLYHEDRAL_BACKEND@/clast.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/clast.c
+
+domain.lo: source/@POLYHEDRAL_BACKEND@/domain.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT domain.lo -MD -MP -MF "$(DEPDIR)/domain.Tpo" -c -o domain.lo `test -f 'source/@POLYHEDRAL_BACKEND@/domain.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/domain.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/domain.Tpo" "$(DEPDIR)/domain.Plo"; else rm -f "$(DEPDIR)/domain.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/@POLYHEDRAL_BACKEND@/domain.c' object='domain.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o domain.lo `test -f 'source/@POLYHEDRAL_BACKEND@/domain.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/domain.c
+
+matrix.lo: source/@POLYHEDRAL_BACKEND@/matrix.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT matrix.lo -MD -MP -MF "$(DEPDIR)/matrix.Tpo" -c -o matrix.lo `test -f 'source/@POLYHEDRAL_BACKEND@/matrix.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/matrix.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/matrix.Tpo" "$(DEPDIR)/matrix.Plo"; else rm -f "$(DEPDIR)/matrix.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/@POLYHEDRAL_BACKEND@/matrix.c' object='matrix.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o matrix.lo `test -f 'source/@POLYHEDRAL_BACKEND@/matrix.c' || echo '$(srcdir)/'`source/@POLYHEDRAL_BACKEND@/matrix.c
+
+pprint.lo: source/pprint.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pprint.lo -MD -MP -MF "$(DEPDIR)/pprint.Tpo" -c -o pprint.lo `test -f 'source/pprint.c' || echo '$(srcdir)/'`source/pprint.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/pprint.Tpo" "$(DEPDIR)/pprint.Plo"; else rm -f "$(DEPDIR)/pprint.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/pprint.c' object='pprint.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pprint.lo `test -f 'source/pprint.c' || echo '$(srcdir)/'`source/pprint.c
+
+program.lo: source/program.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT program.lo -MD -MP -MF "$(DEPDIR)/program.Tpo" -c -o program.lo `test -f 'source/program.c' || echo '$(srcdir)/'`source/program.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/program.Tpo" "$(DEPDIR)/program.Plo"; else rm -f "$(DEPDIR)/program.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/program.c' object='program.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o program.lo `test -f 'source/program.c' || echo '$(srcdir)/'`source/program.c
+
+statement.lo: source/statement.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT statement.lo -MD -MP -MF "$(DEPDIR)/statement.Tpo" -c -o statement.lo `test -f 'source/statement.c' || echo '$(srcdir)/'`source/statement.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/statement.Tpo" "$(DEPDIR)/statement.Plo"; else rm -f "$(DEPDIR)/statement.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/statement.c' object='statement.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statement.lo `test -f 'source/statement.c' || echo '$(srcdir)/'`source/statement.c
+
+version.lo: source/version.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT version.lo -MD -MP -MF "$(DEPDIR)/version.Tpo" -c -o version.lo `test -f 'source/version.c' || echo '$(srcdir)/'`source/version.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/version.Tpo" "$(DEPDIR)/version.Plo"; else rm -f "$(DEPDIR)/version.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/version.c' object='version.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o version.lo `test -f 'source/version.c' || echo '$(srcdir)/'`source/version.c
+
+cloog.o: source/cloog.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cloog.o -MD -MP -MF "$(DEPDIR)/cloog.Tpo" -c -o cloog.o `test -f 'source/cloog.c' || echo '$(srcdir)/'`source/cloog.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/cloog.Tpo" "$(DEPDIR)/cloog.Po"; else rm -f "$(DEPDIR)/cloog.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/cloog.c' object='cloog.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cloog.o `test -f 'source/cloog.c' || echo '$(srcdir)/'`source/cloog.c
+
+cloog.obj: source/cloog.c
+@am__fastdepCC_TRUE@   if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cloog.obj -MD -MP -MF "$(DEPDIR)/cloog.Tpo" -c -o cloog.obj `if test -f 'source/cloog.c'; then $(CYGPATH_W) 'source/cloog.c'; else $(CYGPATH_W) '$(srcdir)/source/cloog.c'; fi`; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/cloog.Tpo" "$(DEPDIR)/cloog.Po"; else rm -f "$(DEPDIR)/cloog.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='source/cloog.c' object='cloog.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cloog.obj `if test -f 'source/cloog.c'; then $(CYGPATH_W) 'source/cloog.c'; else $(CYGPATH_W) '$(srcdir)/source/cloog.c'; fi`
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool
+uninstall-info-am:
+install-pkgincludeHEADERS: $(pkginclude_HEADERS)
+       @$(NORMAL_INSTALL)
+       test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)"
+       @list='$(pkginclude_HEADERS)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(am__strip_dir) \
+         echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+         $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \
+       done
+
+uninstall-pkgincludeHEADERS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(pkginclude_HEADERS)'; for p in $$list; do \
+         f=$(am__strip_dir) \
+         echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \
+         rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \
+       done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       rev=''; for subdir in $$list; do \
+         if test "$$subdir" = "."; then :; else \
+           rev="$$subdir $$rev"; \
+         fi; \
+       done; \
+       rev="$$rev ."; \
+       target=`echo $@ | sed s/-recursive//`; \
+       for subdir in $$rev; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+       done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+           $$tags $$unique; \
+       fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       tags=; \
+       here=`pwd`; \
+       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
+              END { for (i in files) print i; }'`; \
+       test -z "$(CTAGS_ARGS)$$tags$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$tags $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && cd $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       mkdir $(distdir)
+       $(mkdir_p) $(distdir)/. $(distdir)/autoconf $(distdir)/doc $(distdir)/include/cloog $(distdir)/m4
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -d "$(distdir)/$$subdir" \
+           || $(mkdir_p) "$(distdir)/$$subdir" \
+           || exit 1; \
+           distdir=`$(am__cd) $(distdir) && pwd`; \
+           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+           (cd $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$top_distdir" \
+               distdir="$$distdir/$$subdir" \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-hook
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+dist-gzip: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+
+dist-bzip2: distdir
+       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+       $(am__remove_distdir)
+
+dist-tarZ: distdir
+       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+       $(am__remove_distdir)
+
+dist-shar: distdir
+       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       $(am__remove_distdir)
+
+dist-zip: distdir
+       -rm -f $(distdir).zip
+       zip -rq $(distdir).zip $(distdir)
+       $(am__remove_distdir)
+
+dist dist-all: distdir
+       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+       $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       case '$(DIST_ARCHIVES)' in \
+       *.tar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+         GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+       *.zip*) \
+         unzip $(distdir).zip ;;\
+       esac
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       mkdir $(distdir)/_build
+       mkdir $(distdir)/_inst
+       chmod a-w $(distdir)
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && cd $(distdir)/_build \
+         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+           $(DISTCHECK_CONFIGURE_FLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) \
+         && $(MAKE) $(AM_MAKEFLAGS) dvi \
+         && $(MAKE) $(AM_MAKEFLAGS) check \
+         && $(MAKE) $(AM_MAKEFLAGS) install \
+         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+               distuninstallcheck \
+         && chmod -R a-w "$$dc_install_base" \
+         && ({ \
+              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+             } || { rm -rf "$$dc_destdir"; exit 1; }) \
+         && rm -rf "$$dc_destdir" \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && rm -rf $(DIST_ARCHIVES) \
+         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+       @cd $(distuninstallcheck_dir) \
+       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+          || { echo "ERROR: files left after uninstall:" ; \
+               if test -n "$(DESTDIR)"; then \
+                 echo "  (check DESTDIR support)"; \
+               fi ; \
+               $(distuninstallcheck_listfiles) ; \
+               exit 1; } >&2
+distcleancheck: distclean
+       @if test '$(srcdir)' = . ; then \
+         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+         exit 1 ; \
+       fi
+       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+         || { echo "ERROR: files left in build directory after distclean:" ; \
+              $(distcleancheck_listfiles) ; \
+              exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
+install-binPROGRAMS: install-libLTLIBRARIES
+
+installdirs: installdirs-recursive
+installdirs-am:
+       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgincludedir)"; do \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
+       done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
+       clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pkgincludeHEADERS
+
+install-exec-am: install-binPROGRAMS install-libLTLIBRARIES
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+       -rm -rf $(top_srcdir)/autom4te.cache
+       -rm -rf ./$(DEPDIR)
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+       uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+       check-am clean clean-binPROGRAMS clean-generic \
+       clean-libLTLIBRARIES clean-libtool clean-local clean-recursive \
+       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+       dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
+       distclean-compile distclean-generic distclean-hdr \
+       distclean-libtool distclean-recursive distclean-tags \
+       distcleancheck distdir distuninstallcheck dvi dvi-am html \
+       html-am info info-am install install-am install-binPROGRAMS \
+       install-data install-data-am install-exec install-exec-am \
+       install-info install-info-am install-libLTLIBRARIES \
+       install-man install-pkgincludeHEADERS install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic \
+       maintainer-clean-recursive mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
+       pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+       uninstall-binPROGRAMS uninstall-info-am \
+       uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
+
+
+version.h: @GIT_INDEX@
+       echo '#define CLOOG_HEAD "'`$(top_builddir)/genversion.sh`'"' > $@
+
+dist-hook:
+       rm -f $(distdir)/test/Makefile
+       $(top_builddir)/genversion.sh > $(distdir)/CLOOG_HEAD
+       (cd doc; make cloog.pdf) && cp doc/cloog.pdf $(distdir)/doc/
+
+#/*****************************************************************************
+# *                                   Rules                                   *
+# *****************************************************************************/
+
+check:
+       $(MAKE) test -C test
+
+valcheck:
+       $(MAKE) valgrind -C test
+
+total:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                     CLooG                     *"
+       @echo "              *-----------------------------------------------*/"
+       $(MAKE) uninstall
+       $(MAKE) clean
+       $(MAKE)
+       $(MAKE) install
+
+doc:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *        Generating CLooG's documentation       *"
+       @echo "              *-----------------------------------------------*/"
+       doxygen ./autoconf/Doxyfile
+
+clean-local:
+       rm $(top_builddir)/version.h
+       rm $(top_builddir)/doc/gitversion.texi
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..5aaee5c
--- /dev/null
+++ b/README
@@ -0,0 +1,194 @@
+#
+#  /**-------------------------------------------------------------------**
+#   **                              CLooG                                **
+#   **-------------------------------------------------------------------**
+#   **                     The Chunky Loop Generator                     **
+#   **-------------------------------------------------------------------**
+#   **           First version of this file: january 22th 2002           **
+#   **-------------------------------------------------------------------**/
+#
+
+For complete informations about this software, how to build and use it,
+please see the postscript file in the ./doc subdirectory (a pdf version
+is available in the web site).
+
+Overview :
+I.   Description 
+II.  Building CLooG
+III. Options
+IV.  Running CLooG
+V.   General Questions
+
+#   **-------------------------------------------------------------------**
+#   **                        I. Description                             **
+#   **-------------------------------------------------------------------**/
+
+CLooG is a software which generates loops for scanning Z-polyhedra. That is,
+CLooG finds the code or pseudo-code where each integral point of one or more
+parametrized polyhedron or parametrized polyhedra union is reached. CLooG is
+designed to avoid control overhead and to produce a very efficient code.
+
+Its input is some data on the polyhedra to scan, basically the system of
+affine inequalities that define them, and a context that defines some
+properties known on the parameters if any. The output is the pseudo scanning
+code. Many facilities are provided to generate a near-to-be-compileable code,
+and every useful functions to generate the code may be called from the CLooG
+library.
+
+            INPUT                   |                 OUTPUT
+(fortunately not exactly the input, |   (the real one, with default options)
+ check test/readme.cloog for the    |
+ real input for that problem !)            |
+                                   |
+       j^ i>=2                     |
+         | | j<=n+2-i               |
+         | |\     | i<=n            |
+         | | \    |                 |
+       m-+-****---+-j<=m            |    for (i=2;i<=n;i++) {
+         | *****  |                 |      for (j=2;j<=min(m,-i+n+2);j++) {    
+         | ****** |                ==>       S1 ;
+         | *******|                 |      }
+       2-+-********-j>=2            |    }
+         | |      |\                |
+       0-+-+------+--->i            |
+         | |      |                 |
+         0 2      n                 |
+                                    |
+       Context : n>=2               |
+                 m>=2               |
+       System  : 2<=i<=n            |
+                 2<=j<=m            |
+                j<=n+2-i           |
+
+#   **-------------------------------------------------------------------**
+#   **                      II. Building CLooG                           **
+#   **-------------------------------------------------------------------**/
+
+The configure shell script attempts to guess correct values for various
+system-dependent variables used during compilation. It uses those values to
+create a Makefile. The file configure.in is used to create configure by a
+program called autoconf.  You only need configure.in if you want to change
+it or regenerate configure using a newer version of autoconf.
+
+The simplest way to compile this package is:
+cd to the directory containing the package's source code and type 
+
+  ./configure
+
+to configure the package for your system (while running, configure prints
+some messages telling which features it is checking for) (in the strange case
+where ./configure do not exists, you can build it by typing
+"autoconf -l autoconf autoconf/configure.in > configure"). To compile the
+package, type
+
+  make
+  
+
+to install the program and/or the library, type
+
+  make install
+
+you can remove the program binaries and object files from the source code
+directory by typing
+  
+  make clean
+  
+To also remove the files that configure created (so you can compile the
+package for a different kind of computer) type
+  
+  make distclean
+
+#   **-------------------------------------------------------------------**
+#   **                           III. Options                            **
+#   **-------------------------------------------------------------------**/
+
+By default,  make will install the package's files in /usr/local/bin,
+/usr/local/lib, etc. You can specify an installation prefix other than 
+/usr/local by giving onfigure the option --prefix=PATH.
+
+By default, configure will seek the PolyLib in standard locations.
+If necessary, you can specify the PolyLib's path by giving configure the
+option --with-polylib=PATH.
+
+By default, configure will seek the GMP library in standard locations.
+If necessary, you can specify the GMP's path by giving configure the
+option --with-gmp=PATH.
+
+By default, both CLooG and the CloogLib are compiled and installed.
+By giving configure the option --without-cloog you disable the
+compilation and installation of CLooG. By giving configure the option
+--without-lib you disable the compilation and installation of the CloogLib.
+
+By default, CLooG and it's library are builded using 64 bits integer
+representation. You can choose to specify explicitly others integer
+representations by using:
+--with-bits=32  for 32 bits integers,
+--with-bits=64  for 64 bits integers (default),
+--with-bits=gmp for multiple precision integers.
+
+#   **-------------------------------------------------------------------**
+#   **                         IV. Running CLooG                         **
+#   **-------------------------------------------------------------------**/
+
+To run CLooG, simply type 'cloog', optionally followed by the name of an
+input file. You can type 'cloog -h' or 'cloog --help' for some help.
+For more informations, please check the ./doc subdirectory.
+
+#   **-------------------------------------------------------------------**
+#   **                        V. General Questions                       **
+#   **-------------------------------------------------------------------**/
+
+1. What does CLooG means ?
+
+CLooG is the Chunky LOOp Generator, Chunky is an automatic loop optimizer for
+data locality. CLooG is a completely independent part of the Chunky project.
+Pronounce 'CLooG' as 'klug', which means 'sly' in german :-).
+
+2. CLooG do not compile, what should I do ?
+
+CLooG should compile everywhere (assuming that PolyLib is still there), thus
+there is a problem or the documentation is not clear, in both case it is
+necessary to ask the author(s) !
+
+3. I need a feature that CLooG do not implement, what should I do ?
+
+There are two ways. First, CLooG is a GPL software and library. So you
+are welcome to improve it yourself ;-) ! Many project have been successful, it
+is -maybe- a sign that this is not too hard to put your hands inside the
+source. Second, just ask the author(s) :-) ! Maybe a lot of people would be
+interessed by such feature, maybe many people asked for it before, maybe it's
+trivial to implement (and even)... Please just never hesitate to ask the
+author(s) !
+
+4. I implemented a cool feature, can I commit it ?
+
+Obviously you are welcome to send the author(s) any improvement. But obviously
+we are quite careful with readability, correctness and stability, and the
+author(s) will read, check and check again any contribution before including it.
+Thus, it can take time... There are few basic rules to write contributions:
+- (1) Do never change the indentation of any part of the code that is not yours.
+- (2) Do never send codes that use more than 80 columns.
+- (3) Do never send codes without a lot of comments in (bad or good) english.
+- (4) Do never send codes with obscure and/or non-english variable names.
+- (5) Use C, just C, only C (note: "//" comments are not C, variable declaration
+  elsewhere than at the beginning of a block -better: a function-, is not C).
+Please understand that in order to live for a long time, and to be used in many
+projects the very first priority for CLooG is to be readable and documented.
+
+5. Is CLooG bug free ?
+
+No, who can ? ClooG is a complex program, and we do not pretend it to be bug
+free. Nevertheless because it has been tested and tested, we are fairly sure
+that CLooG results with default options have good chances to be satisfactory.
+If you find a result that looks strange, inadequate or incorrect, please send:
+- (1) The input file to the author(s).
+- (2) The output.
+- (3) The first line given by typing 'cloog -v'.
+- (4) All your command line options to achieve the result.
+We will try to explain the result or to fix the problem as soon as possible.
+
+6. How can I ask the author(s) ?
+
+Just send a mail to cedric.bastoul@inria.fr ! Or better, leave a message in the
+forum of http://www.CLooG.org
+
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644 (file)
index 0000000..6564860
--- /dev/null
@@ -0,0 +1,855 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+        [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+                            [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.                 -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+       @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff --git a/autoconf/Doxyfile b/autoconf/Doxyfile
new file mode 100644 (file)
index 0000000..fa02ac7
--- /dev/null
@@ -0,0 +1,1101 @@
+# Doxyfile 1.3.5
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = CLooG
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = @RELEASE@
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc/source
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
+# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, 
+# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output. 
+# The encoding is not always determined by the language that is chosen, 
+# but also whether or not the output is meant for Windows or non-Windows users. 
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
+# forces the Windows encoding (this is the default for the Windows binary), 
+# whereas setting the tag to NO uses a Unix-style encoding (the default for 
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is used 
+# as the annotated text. Otherwise, the brief description is used as-is. If left 
+# blank, the following values are used ("$name" is automatically replaced with the 
+# name of the entity): "The $name class" "The $name widget" "The $name file" 
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           =
+#WARN_LOGFILE           = doc/doxygen.log
+
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = source \
+                         include/cloog
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
+
+FILE_PATTERNS          = 
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = YES
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse the 
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = /usr/bin/
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+# DOTFILE_DIRS           = src
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes that 
+# lay further from the root node will be omitted. Note that setting this option to 
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
+# note that a graph may be further truncated if the graph's image dimensions are 
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/autoconf/Doxyfile.in b/autoconf/Doxyfile.in
new file mode 100644 (file)
index 0000000..fa02ac7
--- /dev/null
@@ -0,0 +1,1101 @@
+# Doxyfile 1.3.5
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = CLooG
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = @RELEASE@
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc/source
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, 
+# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en 
+# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, 
+# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output. 
+# The encoding is not always determined by the language that is chosen, 
+# but also whether or not the output is meant for Windows or non-Windows users. 
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
+# forces the Windows encoding (this is the default for the Windows binary), 
+# whereas setting the tag to NO uses a Unix-style encoding (the default for 
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is used 
+# as the annotated text. Otherwise, the brief description is used as-is. If left 
+# blank, the following values are used ("$name" is automatically replaced with the 
+# name of the entity): "The $name class" "The $name widget" "The $name file" 
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           =
+#WARN_LOGFILE           = doc/doxygen.log
+
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = source \
+                         include/cloog
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc
+
+FILE_PATTERNS          = 
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = YES
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse the 
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = /usr/bin/
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+# DOTFILE_DIRS           = src
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes that 
+# lay further from the root node will be omitted. Note that setting this option to 
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
+# note that a graph may be further truncated if the graph's image dimensions are 
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/autoconf/c-ced.ssh b/autoconf/c-ced.ssh
new file mode 100644 (file)
index 0000000..cc38b70
--- /dev/null
@@ -0,0 +1,81 @@
+# To print the code correctly : a2ps --pretty-print=c-ced.ssh
+
+# Style sheet for C
+# Copyright (c) 1995-2000 Akim Demaille, Miguel Santana
+#
+
+#
+# This file is part of a2ps.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING.  If not, write to
+# the Free Software Foundation, 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+style C is
+requires a2ps 4.13
+
+written by "Akim Demaille <akim@freefriends.org>"
+version is 1.6
+documentation is
+   "This style does not highlight the function definitions."
+   "Another style which highlights them, GNUish C, is provided (gnuc.ssh)."
+   "It works only if you respect some syntactic conventions."
+end documentation
+
+alphabets are
+   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_#$%"
+
+case sensitive
+
+ancestors are
+  cpp
+end ancestors
+
+keywords in Keyword are
+   double, enum, void, int, long, FILE, struct, char, signed, float,
+   short, unsigned
+end keywords
+
+keywords in Keyword_strong are
+   auto, "case", const, continue, do, inline, extern, for, register,
+   return, switch, union, goto, typedef, sizeof, typeof, volatile, static,
+   NULL, default, break, if, while, else
+end keywords
+
+optional operators are
+  (/(case)([   ]+)(.+)([       ]*:)/
+   \1 Keyword_strong, \2 Plain, \3 Label, \4 Plain)
+end operators
+
+optional operators are
+   -> \rightarrow,
+   && \wedge,
+   || \vee,
+   != \neq,
+   == \equiv,
+   # We need to protect these, so that <= is not replaced in <<=
+   <<=,
+   >>=,
+   <= \leq,
+   >= \geq,
+   ! \not
+end operators
+
+sequences are
+    "/*" Comment "*/",
+    "//" Comment
+end sequences
+
+end style
diff --git a/autoconf/config.guess b/autoconf/config.guess
new file mode 100755 (executable)
index 0000000..278f9e9
--- /dev/null
@@ -0,0 +1,1516 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
+
+timestamp='2007-07-22'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # NetBSD (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       #
+       # Note: NetBSD doesn't particularly care about the vendor
+       # portion of the name.  We always set it to "unknown".
+       sysctl="sysctl -n hw.machine_arch"
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       case "${UNAME_MACHINE_ARCH}" in
+           armeb) machine=armeb-unknown ;;
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+           sh5el) machine=sh5le-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+       # to ELF recently, or will in the future.
+       case "${UNAME_MACHINE_ARCH}" in
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+               eval $set_cc_for_build
+               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+                       | grep __ELF__ >/dev/null
+               then
+                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+                   # Return netbsd for either.  FIX?
+                   os=netbsd
+               else
+                   os=netbsdelf
+               fi
+               ;;
+           *)
+               os=netbsd
+               ;;
+       esac
+       # The OS release
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit ;;
+    *:OpenBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       exit ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit ;;
+    *:SolidBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       exit ;;
+    macppc:MirBSD:*:*)
+       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    alpha:OSF1:*:*)
+       case $UNAME_RELEASE in
+       *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+       # types through head -n 1, so we only detect the type of CPU 0.
+       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+       case "$ALPHA_CPU_TYPE" in
+           "EV4 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "EV4.5 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "LCA4 (21066/21068)")
+               UNAME_MACHINE="alpha" ;;
+           "EV5 (21164)")
+               UNAME_MACHINE="alphaev5" ;;
+           "EV5.6 (21164A)")
+               UNAME_MACHINE="alphaev56" ;;
+           "EV5.6 (21164PC)")
+               UNAME_MACHINE="alphapca56" ;;
+           "EV5.7 (21164PC)")
+               UNAME_MACHINE="alphapca57" ;;
+           "EV6 (21264)")
+               UNAME_MACHINE="alphaev6" ;;
+           "EV6.7 (21264A)")
+               UNAME_MACHINE="alphaev67" ;;
+           "EV6.8CB (21264C)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8AL (21264B)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8CX (21264D)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.9A (21264/EV69A)")
+               UNAME_MACHINE="alphaev69" ;;
+           "EV7 (21364)")
+               UNAME_MACHINE="alphaev7" ;;
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
+       # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-unknown-sysv4
+       exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-morphos
+       exit ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+       echo arm-unknown-riscos
+       exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit ;;
+    DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7; exit ;;
+       esac ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c &&
+         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`$dummy $dummyarg` &&
+           { echo "$SYSTEM_NAME"; exit; }
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit ;;
+    Motorola:PowerMAX_OS:*:*)
+       echo powerpc-motorola-powermax
+       exit ;;
+    Motorola:*:4.3:PL8-*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit ;;
+    ia64:AIX:*:*)
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               eval $set_cc_for_build
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               then
+                       echo "$SYSTEM_NAME"
+               else
+                       echo rs6000-ibm-aix3.2.5
+               fi
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+    *:AIX:*:[45])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit ;;
+    9000/[34678]??:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+                   sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+               fi ;;
+       esac
+       if [ ${HP_ARCH} = "hppa2.0w" ]
+       then
+           eval $set_cc_for_build
+
+           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+           # generating 64-bit code.  GNU and HP use different nomenclature:
+           #
+           # $ CC_FOR_BUILD=cc ./config.guess
+           # => hppa2.0w-hp-hpux11.23
+           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+           # => hppa64-hp-hpux11.23
+
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+               grep __LP64__ >/dev/null
+           then
+               HP_ARCH="hppa2.0w"
+           else
+               HP_ARCH="hppa64"
+           fi
+       fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit ;;
+    ia64:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit ;;
+    3050*:HI-UX:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+               { echo "$SYSTEM_NAME"; exit; }
+       echo unknown-hitachi-hiuxwe2
+       exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit ;;
+    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+             -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*T3E:*:*:*)
+       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    *:UNICOS/mp:*:*)
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:FreeBSD:*:*)
+       case ${UNAME_MACHINE} in
+           pc98)
+               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           amd64)
+               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           *)
+               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       esac
+       exit ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit ;;
+    *:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+    i*:windows32*:*)
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+    i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+    *:Interix*:[3456]*)
+       case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           EM64T | authenticamd)
+               echo x86_64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+       esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i586-pc-interix
+       exit ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    *:GNU:*:*)
+       # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit ;;
+    i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit ;;
+    arm*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    avr32*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit ;;
+    ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    mips:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips
+       #undef mipsel
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mipsel
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^CPU/{
+               s: ::g
+               p
+           }'`"
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef mips64
+       #undef mips64el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=mips64el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=mips64
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^CPU/{
+               s: ::g
+               p
+           }'`"
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       exit ;;
+    alpha:Linux:*:*)
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+         EV5)   UNAME_MACHINE=alphaev5 ;;
+         EV56)  UNAME_MACHINE=alphaev56 ;;
+         PCA56) UNAME_MACHINE=alphapca56 ;;
+         PCA57) UNAME_MACHINE=alphapca56 ;;
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+       # Look for CPU level
+       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+         PA7*) echo hppa1.1-unknown-linux-gnu ;;
+         PA8*) echo hppa2.0-unknown-linux-gnu ;;
+         *)    echo hppa-unknown-linux-gnu ;;
+       esac
+       exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-unknown-linux-gnu
+       exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+    x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+    xtensa:Linux:*:*)
+       echo xtensa-unknown-linux-gnu
+       exit ;;
+    i*86:Linux:*:*)
+       # The BFD linker knows what the default object file format is, so
+       # first see if it will tell us. cd to the root directory to prevent
+       # problems with other programs or directories called `ld' in the path.
+       # Set LC_ALL=C to ensure ld outputs messages in English.
+       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+                        | sed -ne '/supported targets:/!d
+                                   s/[         ][      ]*/ /g
+                                   s/.*supported targets: *//
+                                   s/ .*//
+                                   p'`
+        case "$ld_supported_targets" in
+         elf32-i386)
+               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+               ;;
+         a.out-i386-linux)
+               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+               exit ;;
+         coff-i386)
+               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+               exit ;;
+         "")
+               # Either a pre-BFD a.out linker (linux-gnuoldld) or
+               # one that does not give us useful --help.
+               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+               exit ;;
+       esac
+       # Determine whether the default compiler is a.out or elf
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <features.h>
+       #ifdef __ELF__
+       # ifdef __GLIBC__
+       #  if __GLIBC__ >= 2
+       LIBC=gnu
+       #  else
+       LIBC=gnulibc1
+       #  endif
+       # else
+       LIBC=gnulibc1
+       # endif
+       #else
+       #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+       LIBC=gnu
+       #else
+       LIBC=gnuaout
+       #endif
+       #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+           /^LIBC/{
+               s: ::g
+               p
+           }'`"
+       test x"${LIBC}" != x && {
+               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+               exit
+       }
+       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+       ;;
+    i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+       # earlier versions are messed up and put the nodename in both
+       # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit ;;
+    i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit ;;
+    i*86:*:5:[678]*)
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+       esac
+       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       exit ;;
+    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+       echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+       echo m68k-convergent-sysv
+       exit ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit ;;
+    *:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo hppa1.1-stratus-vos
+       exit ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit ;;
+    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-7:SUPER-UX:*:*)
+       echo sx7-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8:SUPER-UX:*:*)
+       echo sx8-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8R:SUPER-UX:*:*)
+       echo sx8r-nec-superux${UNAME_RELEASE}
+       exit ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Darwin:*:*)
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
+           unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       UNAME_PROCESSOR=`uname -p`
+       if test "$UNAME_PROCESSOR" = "x86"; then
+               UNAME_PROCESSOR=i386
+               UNAME_MACHINE=pc
+       fi
+       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       exit ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    *:NonStop-UX:*:*)
+       echo mips-compaq-nonstopux
+       exit ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit ;;
+    *:Plan9:*:*)
+       # "uname -m" is not consistent, so use $cputype instead. 386
+       # is converted to i386 for consistency with other x86
+       # operating systems.
+       if test "$cputype" = "386"; then
+           UNAME_MACHINE=i386
+       else
+           UNAME_MACHINE="$cputype"
+       fi
+       echo ${UNAME_MACHINE}-unknown-plan9
+       exit ;;
+    *:TOPS-10:*:*)
+       echo pdp10-unknown-tops10
+       exit ;;
+    *:TENEX:*:*)
+       echo pdp10-unknown-tenex
+       exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+       echo pdp10-dec-tops20
+       exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+       echo pdp10-xkl-tops20
+       exit ;;
+    *:TOPS-20:*:*)
+       echo pdp10-unknown-tops20
+       exit ;;
+    *:ITS:*:*)
+       echo pdp10-unknown-its
+       exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+           V*) echo vax-dec-vms ; exit ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit ;;
+    i*86:skyos:*:*)
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       exit ;;
+    i*86:rdos:*:*)
+       echo ${UNAME_MACHINE}-pc-rdos
+       exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit ;;
+    c34*)
+       echo c34-convex-bsd
+       exit ;;
+    c38*)
+       echo c38-convex-bsd
+       exit ;;
+    c4*)
+       echo c4-convex-bsd
+       exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/autoconf/config.sub b/autoconf/config.sub
new file mode 100755 (executable)
index 0000000..1761d8b
--- /dev/null
@@ -0,0 +1,1626 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
+
+timestamp='2007-06-28'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray)
+               os=
+               basic_machine=$1
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64vr | mips64vrel \
+       | mips64orion | mips64orionel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | mt \
+       | msp430 \
+       | nios | nios2 \
+       | ns16k | ns32k \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | pyramid \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | pyramid-* \
+       | romp-* | rs6000-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tron-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa-* \
+       | ymp-* \
+       | z8k-*)
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+       mingw32)
+               basic_machine=i386-pc
+               os=-mingw32
+               ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       openrisc | openrisc-*)
+               basic_machine=or32-unknown
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rdos)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh5el)
+               basic_machine=sh5le-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
+       tic55x | c55x*)
+               basic_machine=tic55x-unknown
+               os=-coff
+               ;;
+       tic6x | c6x*)
+               basic_machine=tic6x-unknown
+               os=-coff
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -openbsd* | -solidbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+        -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+        -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -kaos*)
+               os=-kaos
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+               os=-elf
+               ;;
+        spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+               os=-tops20
+               ;;
+       pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+        mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-haiku)
+               os=-haiku
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/autoconf/depcomp b/autoconf/depcomp
new file mode 100755 (executable)
index 0000000..04701da
--- /dev/null
@@ -0,0 +1,530 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2005-07-09.11
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+       set fnord "$@"
+       shift
+       shift
+       ;;
+    *)
+       set fnord "$@" "$arg"
+       shift
+       shift
+       ;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::   \1 \\:p' >> "$depfile"
+  echo "       " >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/autoconf/install-sh b/autoconf/install-sh
new file mode 100755 (executable)
index 0000000..4d4a951
--- /dev/null
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+       shift
+       shift
+       continue;;
+
+    -T) no_target_directory=true
+       shift
+       continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+       # When -t is used, the destination is already specified.
+       test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+       for arg
+       do
+          if test -n "$dstarg"; then
+           # $@ is not empty: it contains at least $arg.
+           set fnord "$@" "$dstarg"
+           shift # fnord
+         fi
+         shift # arg
+         dstarg=$arg
+       done
+       break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+       echo "$0: $dstarg: Is a directory" >&2
+       exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+        '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+       # mkdir can fail with a `File exist' error in case several
+       # install-sh are creating the directory concurrently.  This
+       # is OK.
+       test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+          # The rename failed, perhaps because mv can't rename something else
+          # to itself, or perhaps because mv is so ancient that it does not
+          # support -f.
+
+          # Now remove or move aside any old file at destination location.
+          # We try this two ways since rm can't unlink itself on some
+          # systems and the destination file might be busy for other
+          # reasons.  In this case, the final cleanup might fail but the new
+          # file should still install successfully.
+          {
+            if test -f "$dstdir/$dstfile"; then
+              $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+              || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+              || {
+                echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+                (exit 1); exit 1
+              }
+            else
+              :
+            fi
+          } &&
+
+          # Now rename the file to the real destination.
+          $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+        }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/autoconf/ltmain.sh b/autoconf/ltmain.sh
new file mode 100755 (executable)
index 0000000..b612e9a
--- /dev/null
@@ -0,0 +1,8412 @@
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#     --config             show all configuration variables
+#     --debug              enable verbose shell tracing
+# -n, --dry-run            display commands without modifying any files
+#     --features           display basic configuration information and exit
+#     --mode=MODE          use operation mode MODE
+#     --preserve-dup-deps  don't remove duplicate dependency libraries
+#     --quiet, --silent    don't print informational messages
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long help message
+#
+# MODE must be one of the following:
+#
+#       clean              remove files from the build directory
+#       compile            compile a source file into a libtool object
+#       execute            automatically set library path, then run a program
+#       finish             complete the installation of libtool libraries
+#       install            install libraries or executables
+#       link               create a library or an executable
+#       uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#       host-triplet:  $host
+#       shell:         $SHELL
+#       compiler:              $LTCC
+#       compiler flags:                $LTCFLAGS
+#       linker:                $LD (gnu? $with_gnu_ld)
+#       $progname:             (GNU libtool) 2.2.6 Debian-2.2.6a-1ubuntu1
+#       automake:              $automake_version
+#       autoconf:              $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6 Debian-2.2.6a-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3012
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+          save_$lt_var=\$$lt_var
+          $lt_var=C
+         export $lt_var
+         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+       fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS="  $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=:
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+       # list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+       IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$opt_dry_run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+    fi
+
+    $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+    case $1 in
+      *[\\\`\"\$]*)
+       func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+    esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    case $1 in
+      *[\\\`\"]*)
+       my_arg=`$ECHO "X$1" | $Xsed \
+           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+           $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+       s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+       s/^# *$//
+       s/\$progname/'$progname'/
+       p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        s/^# //
+       s/^# *$//
+       s*\$progname*'$progname'*
+       s*\$host*'"$host"'*
+       s*\$SHELL*'"$SHELL"'*
+       s*\$LTCC*'"$LTCC"'*
+       s*\$LTCFLAGS*'"$LTCFLAGS"'*
+       s*\$LD*'"$LD"'*
+       s/\$with_gnu_ld/'"$with_gnu_ld"'/
+       s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+       s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+       p
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    $ECHO "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $ECHO "enable shared libraries"
+    else
+      $ECHO "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $ECHO "enable static libraries"
+    else
+      $ECHO "disable static libraries"
+    fi
+
+    exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
+
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
+
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+       taglist="$taglist $tagname"
+
+       # Evaluate the configuration.  Be careful to quote the path
+       # and the sed script, to avoid splitting on whitespace, but
+       # also don't use non-portable quotes within backquotes within
+       # quotes we have to do it in 2 steps:
+       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+       eval "$extractedcf"
+      else
+       func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
+
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+  # Shorthand for --mode=foo, only valid as the first argument
+  case $1 in
+  clean|clea|cle|cl)
+    shift; set dummy --mode clean ${1+"$@"}; shift
+    ;;
+  compile|compil|compi|comp|com|co|c)
+    shift; set dummy --mode compile ${1+"$@"}; shift
+    ;;
+  execute|execut|execu|exec|exe|ex|e)
+    shift; set dummy --mode execute ${1+"$@"}; shift
+    ;;
+  finish|finis|fini|fin|fi|f)
+    shift; set dummy --mode finish ${1+"$@"}; shift
+    ;;
+  install|instal|insta|inst|ins|in|i)
+    shift; set dummy --mode install ${1+"$@"}; shift
+    ;;
+  link|lin|li|l)
+    shift; set dummy --mode link ${1+"$@"}; shift
+    ;;
+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+    shift; set dummy --mode uninstall ${1+"$@"}; shift
+    ;;
+  esac
+
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
+
+    case $opt in
+      --config)                func_config                                     ;;
+
+      --debug)         preserve_args="$preserve_args $opt"
+                       func_echo "enabling shell trace mode"
+                       opt_debug='set -x'
+                       $opt_debug
+                       ;;
+
+      -dlopen)         test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       execute_dlfiles="$execute_dlfiles $1"
+                       shift
+                       ;;
+
+      --dry-run | -n)  opt_dry_run=:                                   ;;
+      --features)       func_features                                  ;;
+      --finish)                mode="finish"                                   ;;
+
+      --mode)          test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       case $1 in
+                         # Valid mode arguments:
+                         clean)        ;;
+                         compile)      ;;
+                         execute)      ;;
+                         finish)       ;;
+                         install)      ;;
+                         link)         ;;
+                         relink)       ;;
+                         uninstall)    ;;
+
+                         # Catch anything else as an error
+                         *) func_error "invalid argument for $opt"
+                            exit_cmd=exit
+                            break
+                            ;;
+                       esac
+
+                       mode="$1"
+                       shift
+                       ;;
+
+      --preserve-dup-deps)
+                       opt_duplicate_deps=:                            ;;
+
+      --quiet|--silent)        preserve_args="$preserve_args $opt"
+                       opt_silent=:
+                       ;;
+
+      --verbose| -v)   preserve_args="$preserve_args $opt"
+                       opt_silent=false
+                       ;;
+
+      --tag)           test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       preserve_args="$preserve_args $opt $1"
+                       func_enable_tag "$1"    # tagname is set here
+                       shift
+                       ;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+                       func_opt_split "$opt"
+                       set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+                       shift
+                       ;;
+
+      -\?|-h)          func_usage                                      ;;
+      --help)          opt_help=:                                      ;;
+      --version)       func_version                                    ;;
+
+      -*)              func_fatal_help "unrecognized option \`$opt'"   ;;
+
+      *)               nonopt="$opt"
+                       break
+                       ;;
+    esac
+  done
+
+
+  case $host in
+    *cygwin* | *mingw* | *pw32* | *cegcc*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
+      ;;
+    *)
+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      ;;
+  esac
+
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$opt_help || {
+  # Sanity checks first:
+  func_check_version_match
+
+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+    func_fatal_configuration "not configured to build any kind of library"
+  fi
+
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    func_error "unrecognized option \`-dlopen'"
+    $ECHO "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null \
+        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+       for lalib_p_l in 1 2 3 4
+       do
+           read lalib_p_line
+           case "$lalib_p_line" in
+               \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+           esac
+       done
+       exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+       func_dirname_and_basename "$1" "" "."
+       func_stripname '' '.exe' "$func_basename_result"
+       func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)        . "$1" ;;
+    *)         . "./$1" ;;
+    esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+        func_quote_for_eval "$arg"
+       CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+       for z in $available_tags; do
+         if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+           # Evaluate the configuration.
+           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+           CC_quoted=
+           for arg in $CC; do
+             # Double-quote args containing other shell metacharacters.
+             func_quote_for_eval "$arg"
+             CC_quoted="$CC_quoted $func_quote_for_eval_result"
+           done
+           case "$@ " in
+             " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+             # The compiler in the base compile command matches
+             # the one in the tagged configuration.
+             # Assume this is the tagged configuration we want.
+             tagname=$z
+             break
+             ;;
+           esac
+         fi
+       done
+       # If $tagname still isn't set, then no tagged configuration
+       # was found and let the user know that the "--tag" command
+       # line option must be used.
+       if test -z "$tagname"; then
+         func_echo "unable to infer tagged configuration"
+         func_fatal_error "specify a tag with \`--tag'"
+#      else
+#        func_verbose "using $tagname tagged configuration"
+       fi
+       ;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+       # do not "continue".  Instead, add this to base_compile
+       lastarg="$arg"
+       arg_mode=normal
+       ;;
+
+      target )
+       libobj="$arg"
+       arg_mode=normal
+       continue
+       ;;
+
+      normal )
+       # Accept any command-line options.
+       case $arg in
+       -o)
+         test -n "$libobj" && \
+           func_fatal_error "you cannot specify \`-o' more than once"
+         arg_mode=target
+         continue
+         ;;
+
+       -pie | -fpie | -fPIE)
+          pie_flag="$pie_flag $arg"
+         continue
+         ;;
+
+       -shared | -static | -prefer-pic | -prefer-non-pic)
+         later="$later $arg"
+         continue
+         ;;
+
+       -no-suppress)
+         suppress_opt=no
+         continue
+         ;;
+
+       -Xcompiler)
+         arg_mode=arg  #  the next one goes into the "base_compile" arg list
+         continue      #  The current "srcfile" will either be retained or
+         ;;            #  replaced later.  I would guess that would be a bug.
+
+       -Wc,*)
+         func_stripname '-Wc,' '' "$arg"
+         args=$func_stripname_result
+         lastarg=
+         save_ifs="$IFS"; IFS=','
+         for arg in $args; do
+           IFS="$save_ifs"
+           func_quote_for_eval "$arg"
+           lastarg="$lastarg $func_quote_for_eval_result"
+         done
+         IFS="$save_ifs"
+         func_stripname ' ' '' "$lastarg"
+         lastarg=$func_stripname_result
+
+         # Add the arguments to base_compile.
+         base_compile="$base_compile $lastarg"
+         continue
+         ;;
+
+       *)
+         # Accept the current argument as the source file.
+         # The previous "srcfile" becomes the current argument.
+         #
+         lastarg="$srcfile"
+         srcfile="$arg"
+         ;;
+       esac  #  case $arg
+       ;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with \`-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+       func_basename "$srcfile"
+       libobj="$func_basename_result"
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       continue
+       ;;
+
+      -static)
+       build_libtool_libs=no
+       build_old_libs=yes
+       continue
+       ;;
+
+      -prefer-pic)
+       pic_mode=yes
+       continue
+       ;;
+
+      -prefer-non-pic)
+       pic_mode=no
+       continue
+       ;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
+    lobj=${xdir}$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+       func_echo "Waiting for $lockfile to be removed"
+       sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+       $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+       command="$base_compile $qsrcfile $pic_flag"
+      else
+       # Don't build PIC code
+       command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+       # Place PIC objects in $objdir
+       command="$command -o $lobj"
+      fi
+
+      func_show_eval_locale "$command" \
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+       func_show_eval '$MV "$output_obj" "$lobj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+       suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+       # Don't build PIC code
+       command="$base_compile $qsrcfile$pie_flag"
+      else
+       command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+       command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+       func_show_eval '$MV "$output_obj" "$obj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+       removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      test -f "$file" \
+       || func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+       # Read the libtool library.
+       dlname=
+       library_names=
+       func_source "$file"
+
+       # Skip this library if it cannot be dlopened.
+       if test -z "$dlname"; then
+         # Warn if it was a shared library.
+         test -n "$library_names" && \
+           func_warning "\`$file' was not linked with \`-export-dynamic'"
+         continue
+       fi
+
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+
+       if test -f "$dir/$objdir/$dlname"; then
+         dir="$dir/$objdir"
+       else
+         if test ! -f "$dir/$dlname"; then
+           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+         fi
+       fi
+       ;;
+
+      *.lo)
+       # Just add the directory containing the .lo file.
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+       ;;
+
+      *)
+       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+       continue
+       ;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+       eval "$shlibpath_var=\"\$dir\""
+      else
+       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+       # Do a test to see if this is really a libtool program.
+       if func_ltwrapper_script_p "$file"; then
+         func_source "$file"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       elif func_ltwrapper_executable_p "$file"; then
+         func_ltwrapper_scriptname "$file"
+         func_source "$func_ltwrapper_scriptname_result"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       fi
+       ;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+       # Export the shlibpath_var.
+       eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+       eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+             else
+               $lt_unset $lt_var
+             fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+       $ECHO "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+       libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish commands.
+         func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         eval cmds=\"$finish_eval\"
+         $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $ECHO "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $ECHO "   $libdir"
+    done
+    $ECHO
+    $ECHO "If you ever happen to want to link against installed libraries"
+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $ECHO "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $ECHO "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $ECHO "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $ECHO "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $ECHO "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $ECHO
+
+    $ECHO "See any operating system documentation about shared libraries for"
+    case $host in
+      solaris2.[6789]|solaris2.1[0-9])
+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+       $ECHO "pages."
+       ;;
+      *)
+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        ;;
+    esac
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+       files="$files $dest"
+       dest=$arg
+       continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o)
+       prev=$arg
+       ;;
+      -s)
+       stripme=" -s"
+       continue
+       ;;
+      -*)
+       ;;
+      *)
+       # If the previous option needed an argument, then skip it.
+       if test -n "$prev"; then
+         prev=
+       else
+         dest=$arg
+         continue
+       fi
+       ;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+       func_fatal_help "no file or destination specified"
+      else
+       func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+       func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+       case $file in
+       *.lo) ;;
+       *)
+         func_fatal_help "\`$destdir' must be an absolute directory name"
+         ;;
+       esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+       # Do the static libraries later.
+       staticlibs="$staticlibs $file"
+       ;;
+
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$file' is not a valid libtool archive"
+
+       library_names=
+       old_library=
+       relink_command=
+       func_source "$file"
+
+       # Add the libdir to current_libdirs if it is the destination.
+       if test "X$destdir" = "X$libdir"; then
+         case "$current_libdirs " in
+         *" $libdir "*) ;;
+         *) current_libdirs="$current_libdirs $libdir" ;;
+         esac
+       else
+         # Note the libdir as a future libdir.
+         case "$future_libdirs " in
+         *" $libdir "*) ;;
+         *) future_libdirs="$future_libdirs $libdir" ;;
+         esac
+       fi
+
+       func_dirname "$file" "/" ""
+       dir="$func_dirname_result"
+       dir="$dir$objdir"
+
+       if test -n "$relink_command"; then
+         # Determine the prefix the user has applied to our future dir.
+         inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+         # Don't allow the user to place us outside of our expected
+         # location b/c this prevents finding dependent libraries that
+         # are installed to the same prefix.
+         # At present, this check doesn't affect windows .dll's that
+         # are installed into $libdir/../bin (currently, that works fine)
+         # but it's something to keep an eye on.
+         test "$inst_prefix_dir" = "$destdir" && \
+           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+         if test -n "$inst_prefix_dir"; then
+           # Stick the inst_prefix_dir data into the link command.
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+         else
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+         fi
+
+         func_warning "relinking \`$file'"
+         func_show_eval "$relink_command" \
+           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+       fi
+
+       # See the names of the shared library.
+       set dummy $library_names; shift
+       if test -n "$1"; then
+         realname="$1"
+         shift
+
+         srcname="$realname"
+         test -n "$relink_command" && srcname="$realname"T
+
+         # Install the shared library and build the symlinks.
+         func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+             'exit $?'
+         tstripme="$stripme"
+         case $host_os in
+         cygwin* | mingw* | pw32* | cegcc*)
+           case $realname in
+           *.dll.a)
+             tstripme=""
+             ;;
+           esac
+           ;;
+         esac
+         if test -n "$tstripme" && test -n "$striplib"; then
+           func_show_eval "$striplib $destdir/$realname" 'exit $?'
+         fi
+
+         if test "$#" -gt 0; then
+           # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
+           for linkname
+           do
+             test "$linkname" != "$realname" \
+               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+           done
+         fi
+
+         # Do each command in the postinstall commands.
+         lib="$destdir/$realname"
+         func_execute_cmds "$postinstall_cmds" 'exit $?'
+       fi
+
+       # Install the pseudo-library for information purposes.
+       func_basename "$file"
+       name="$func_basename_result"
+       instname="$dir/$name"i
+       func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+       # Maybe install the static library, too.
+       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+       ;;
+
+      *.lo)
+       # Install (i.e. copy) a libtool object.
+
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # Deduce the name of the destination old-style object file.
+       case $destfile in
+       *.lo)
+         func_lo2o "$destfile"
+         staticdest=$func_lo2o_result
+         ;;
+       *.$objext)
+         staticdest="$destfile"
+         destfile=
+         ;;
+       *)
+         func_fatal_help "cannot copy a libtool object to \`$destfile'"
+         ;;
+       esac
+
+       # Install the libtool object if requested.
+       test -n "$destfile" && \
+         func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+       # Install the old object if enabled.
+       if test "$build_old_libs" = yes; then
+         # Deduce the name of the old-style object file.
+         func_lo2o "$file"
+         staticobj=$func_lo2o_result
+         func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+       fi
+       exit $EXIT_SUCCESS
+       ;;
+
+      *)
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # If the file is missing, and there is a .exe on the end, strip it
+       # because it is most likely a libtool script we actually want to
+       # install
+       stripped_ext=""
+       case $file in
+         *.exe)
+           if test ! -f "$file"; then
+             func_stripname '' '.exe' "$file"
+             file=$func_stripname_result
+             stripped_ext=".exe"
+           fi
+           ;;
+       esac
+
+       # Do a test to see if this is really a libtool program.
+       case $host in
+       *cygwin* | *mingw*)
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             wrapper=$func_ltwrapper_scriptname_result
+           else
+             func_stripname '' '.exe' "$file"
+             wrapper=$func_stripname_result
+           fi
+           ;;
+       *)
+           wrapper=$file
+           ;;
+       esac
+       if func_ltwrapper_script_p "$wrapper"; then
+         notinst_deplibs=
+         relink_command=
+
+         func_source "$wrapper"
+
+         # Check the variables that should have been set.
+         test -z "$generated_by_libtool_version" && \
+           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+         finalize=yes
+         for lib in $notinst_deplibs; do
+           # Check to see that each library is installed.
+           libdir=
+           if test -f "$lib"; then
+             func_source "$lib"
+           fi
+           libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+           if test -n "$libdir" && test ! -f "$libfile"; then
+             func_warning "\`$lib' has not been installed in \`$libdir'"
+             finalize=no
+           fi
+         done
+
+         relink_command=
+         func_source "$wrapper"
+
+         outputname=
+         if test "$fast_install" = no && test -n "$relink_command"; then
+           $opt_dry_run || {
+             if test "$finalize" = yes; then
+               tmpdir=`func_mktempdir`
+               func_basename "$file$stripped_ext"
+               file="$func_basename_result"
+               outputname="$tmpdir/$file"
+               # Replace the output file specification.
+               relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+               $opt_silent || {
+                 func_quote_for_expand "$relink_command"
+                 eval "func_echo $func_quote_for_expand_result"
+               }
+               if eval "$relink_command"; then :
+                 else
+                 func_error "error: relink \`$file' with the above command before installing it"
+                 $opt_dry_run || ${RM}r "$tmpdir"
+                 continue
+               fi
+               file="$outputname"
+             else
+               func_warning "cannot relink \`$file'"
+             fi
+           }
+         else
+           # Install the binary that we compiled earlier.
+           file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+         fi
+       fi
+
+       # remove .exe since cygwin /usr/bin/install will append another
+       # one anyway
+       case $install_prog,$host in
+       */usr/bin/install*,*cygwin*)
+         case $file:$destfile in
+         *.exe:*.exe)
+           # this is ok
+           ;;
+         *.exe:*)
+           destfile=$destfile.exe
+           ;;
+         *:*.exe)
+           func_stripname '' '.exe' "$destfile"
+           destfile=$func_stripname_result
+           ;;
+         esac
+         ;;
+       esac
+       func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+       $opt_dry_run || if test -n "$outputname"; then
+         ${RM}r "$tmpdir"
+       fi
+       ;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+       func_show_eval "$old_striplib $oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+       my_dlsyms="${my_outputname}S.c"
+      else
+       func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+       # Discover the nlist of each of the dlfiles.
+       nlist="$output_objdir/${my_outputname}.nm"
+
+       func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+       # Parse the name list into a source file.
+       func_verbose "creating $output_objdir/$my_dlsyms"
+
+       $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+       if test "$dlself" = yes; then
+         func_verbose "generating symbol list for \`$output'"
+
+         $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+         # Add our own program objects to the symbol list.
+         progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+         for progfile in $progfiles; do
+           func_verbose "extracting global C symbols from \`$progfile'"
+           $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+         done
+
+         if test -n "$exclude_expsyms"; then
+           $opt_dry_run || {
+             eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         if test -n "$export_symbols_regex"; then
+           $opt_dry_run || {
+             eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         # Prepare the list of exported symbols
+         if test -z "$export_symbols"; then
+           export_symbols="$output_objdir/$outputname.exp"
+           $opt_dry_run || {
+             $RM $export_symbols
+             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             case $host in
+             *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+               ;;
+             esac
+           }
+         else
+           $opt_dry_run || {
+             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+             case $host in
+               *cygwin | *mingw* | *cegcc* )
+                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                 ;;
+             esac
+           }
+         fi
+       fi
+
+       for dlprefile in $dlprefiles; do
+         func_verbose "extracting global C symbols from \`$dlprefile'"
+         func_basename "$dlprefile"
+         name="$func_basename_result"
+         $opt_dry_run || {
+           eval '$ECHO ": $name " >> "$nlist"'
+           eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+         }
+       done
+
+       $opt_dry_run || {
+         # Make sure we have at least an empty file.
+         test -f "$nlist" || : > "$nlist"
+
+         if test -n "$exclude_expsyms"; then
+           $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+           $MV "$nlist"T "$nlist"
+         fi
+
+         # Try sorting and uniquifying the output.
+         if $GREP -v "^: " < "$nlist" |
+             if sort -k 3 </dev/null >/dev/null 2>&1; then
+               sort -k 3
+             else
+               sort +2
+             fi |
+             uniq > "$nlist"S; then
+           :
+         else
+           $GREP -v "^: " < "$nlist" > "$nlist"S
+         fi
+
+         if test -f "$nlist"S; then
+           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+         else
+           $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+         fi
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+"
+         case $host in
+         *cygwin* | *mingw* | *cegcc* )
+           $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+           lt_dlsym_const= ;;
+         *osf5*)
+           echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+           lt_dlsym_const= ;;
+         *)
+           lt_dlsym_const=const ;;
+         esac
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+         case $need_lib_prefix in
+         no)
+           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         *)
+           eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         esac
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+       } # !$opt_dry_run
+
+       pic_flag_for_symtable=
+       case "$compile_command " in
+       *" -static "*) ;;
+       *)
+         case $host in
+         # compiling the symbol table file with pic_flag works around
+         # a FreeBSD bug that causes programs to crash when -lm is
+         # linked before any other PIC object.  But we must not use
+         # pic_flag when linking with -static.  The problem exists in
+         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+           pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+         *-*-hpux*)
+           pic_flag_for_symtable=" $pic_flag"  ;;
+         *)
+           if test "X$my_pic_p" != Xno; then
+             pic_flag_for_symtable=" $pic_flag"
+           fi
+           ;;
+         esac
+         ;;
+       esac
+       symtab_cflags=
+       for arg in $LTCFLAGS; do
+         case $arg in
+         -pie | -fpie | -fPIE) ;;
+         *) symtab_cflags="$symtab_cflags $arg" ;;
+         esac
+       done
+
+       # Now compile the dynamic symbol file.
+       func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+       # Clean up the generated files.
+       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+       # Transform the symbol file into the correct name.
+       symfileobj="$output_objdir/${my_outputname}S.$objext"
+       case $host in
+       *cygwin* | *mingw* | *cegcc* )
+         if test -f "$output_objdir/$my_outputname.def"; then
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+         else
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         fi
+         ;;
+       *)
+         compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         ;;
+       esac
+       ;;
+      *)
+       func_fatal_error "unknown suffix for \`$my_dlsyms'"
+       ;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+       $SED -n -e '
+           1,100{
+               / I /{
+                   s,.*,import,
+                   p
+                   q
+               }
+           }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       *) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+       *" $my_xlib_u "*)
+         func_arith $extracted_serial + 1
+         extracted_serial=$func_arith_result
+         my_xlib_u=lt$extracted_serial-$my_xlib ;;
+       *) break ;;
+       esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+       func_verbose "Extracting $my_xabs"
+       # Do not bother doing anything if just a dry run
+       $opt_dry_run || {
+         darwin_orig_dir=`pwd`
+         cd $my_xdir || exit $?
+         darwin_archive=$my_xabs
+         darwin_curdir=`pwd`
+         darwin_base_archive=`basename "$darwin_archive"`
+         darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+         if test -n "$darwin_arches"; then
+           darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+           darwin_arch=
+           func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+           for darwin_arch in  $darwin_arches ; do
+             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+             cd "$darwin_curdir"
+             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+           done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+           darwin_file=
+           darwin_files=
+           for darwin_file in $darwin_filelist; do
+             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+             $LIPO -create -output "$darwin_file" $darwin_files
+           done # $darwin_filelist
+           $RM -rf unfat-$$
+           cd "$darwin_orig_dir"
+         else
+           cd $darwin_orig_dir
+           func_extract_an_archive "$my_xdir" "$my_xabs"
+         fi # $darwin_arches
+       } # !$opt_dry_run
+       ;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+       ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+       func_emit_wrapper_part1_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part1_arg1=$1
+       fi
+
+       $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+       $ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+       func_emit_wrapper_part2_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part2_arg1=$1
+       fi
+
+       $ECHO "\
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+       if test "$fast_install" = yes; then
+         $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+         $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+       $ECHO \"\$relink_command_output\" >&2
+       $RM \"\$progdir/\$file\"
+       exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+       else
+         $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+       fi
+
+       $ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+       # Export our shlibpath_var if we have one.
+       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+         $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+       fi
+
+       # fixup the dll searchpath if we need to.
+       if test -n "$dllsearchpath"; then
+         $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+       fi
+
+       $ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+       case $host in
+       # Backslashes separate directories on plain windows
+       *-*-mingw | *-*-os2* | *-cegcc*)
+         $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+         ;;
+
+       *)
+         $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+         ;;
+       esac
+       $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+       func_emit_wrapper_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_arg1=$1
+       fi
+
+       # split this up so that func_emit_cwrapperexe_src
+       # can call each part independently.
+       func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+       func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin.  Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+  func_to_host_path_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        case $build in
+          *mingw* ) # actually, msys
+            # awkward: cmd appends spaces to result
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_path_tmp1=`cygpath -w "$1"`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # Unfortunately, winepath does not exit with a non-zero
+            # error code, so we are forced to check the contents of
+            # stdout. On the other hand, if the command is not
+            # found, the shell will set an exit code of 127 and print
+            # *an error message* to stdout. So we must check for both
+            # error code of zero AND non-empty stdout, which explains
+            # the odd construction:
+            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+                $SED -e "$lt_sed_naive_backslashify"`
+            else
+              # Allow warning below.
+              func_to_host_path_result=""
+            fi
+            ;;
+        esac
+        if test -z "$func_to_host_path_result" ; then
+          func_error "Could not determine host path corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback:
+          func_to_host_path_result="$1"
+        fi
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+  func_to_host_pathlist_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        # Remove leading and trailing path separator characters from
+        # ARG. msys behavior is inconsistent here, cygpath turns them
+        # into '.;' and ';.', and winepath ignores them completely.
+        func_to_host_pathlist_tmp2="$1"
+        # Once set for this call, this variable should not be
+        # reassigned. It is used in tha fallback case.
+        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+          $SED -e 's|^:*||' -e 's|:*$||'`
+        case $build in
+          *mingw* ) # Actually, msys.
+            # Awkward: cmd appends spaces to result.
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # unfortunately, winepath doesn't convert pathlists
+            func_to_host_pathlist_result=""
+            func_to_host_pathlist_oldIFS=$IFS
+            IFS=:
+            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+              IFS=$func_to_host_pathlist_oldIFS
+              if test -n "$func_to_host_pathlist_f" ; then
+                func_to_host_path "$func_to_host_pathlist_f"
+                if test -n "$func_to_host_path_result" ; then
+                  if test -z "$func_to_host_pathlist_result" ; then
+                    func_to_host_pathlist_result="$func_to_host_path_result"
+                  else
+                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                  fi
+                fi
+              fi
+              IFS=:
+            done
+            IFS=$func_to_host_pathlist_oldIFS
+            ;;
+        esac
+        if test -z "$func_to_host_pathlist_result" ; then
+          func_error "Could not determine the host path(s) corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback. This may break if $1 contains DOS-style drive
+          # specifications. The fix is not to complicate the expression
+          # below, but for the user to provide a working wine installation
+          # with winepath so that path translation in the cross-to-mingw
+          # case works properly.
+          lt_replace_pathsep_nix_to_dos="s|:|;|g"
+          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+            $SED -e "$lt_replace_pathsep_nix_to_dos"`
+        fi
+        # Now, add the leading and trailing path separators back
+        case "$1" in
+          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+            ;;
+        esac
+        case "$1" in
+          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+            ;;
+        esac
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+       cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+           cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+#  define HAVE_SETENV
+#  ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+#  endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+       (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+           func_emit_wrapper_part1 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+           cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+           func_emit_wrapper_part2 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+
+           cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_pathlist "$temp_rpath"
+             cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test -n "$dllsearchpath"; then
+              func_to_host_pathlist "$dllsearchpath:"
+             cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test "$fast_install" = yes; then
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+           else
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+           fi
+
+
+           cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
+
+static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
+  /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
+  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
+  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  intptr_t rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+       {
+EOF
+           case "$host" in
+             *mingw* | *cygwin* )
+               # make stdout use "unix" line endings
+               echo "          setmode(1,_O_BINARY);"
+               ;;
+             esac
+
+           cat <<"EOF"
+         printf ("%s", script_text_part1);
+         printf ("%s", script_text_part2);
+         return 0;
+       }
+    }
+
+  newargz = XMALLOC (char *, argc + 1);
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+                         tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+                         actual_cwrapper_path));
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+                         target_name));
+EOF
+
+           cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+                   strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+           cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+           case $host_os in
+             mingw*)
+           cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+       *p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+       *p = '/';
+      }
+  }
+EOF
+           ;;
+           esac
+
+           cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+        {
+          if (argv[i][env_set_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_set_opt_len + 1;
+              lt_opt_process_env_set (p);
+            }
+          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_set (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_set_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+        {
+          if (argv[i][env_prepend_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_prepend_opt_len + 1;
+              lt_opt_process_env_prepend (p);
+            }
+          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_prepend_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+        {
+          if (argv[i][env_append_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_append_opt_len + 1;
+              lt_opt_process_env_append (p);
+            }
+          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_append (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_append_opt);
+          continue;
+        }
+      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal ("Unrecognized option in %s namespace: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  for (i = 0; i < newargc; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+    }
+
+EOF
+
+           case $host_os in
+             mingw*)
+               cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      return 127;
+    }
+  return rval;
+EOF
+               ;;
+             *)
+               cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+               ;;
+           esac
+
+           cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+                         string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+                         wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+       return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+       {
+         concat_name = xstrdup (wrapper);
+         if (check_executable (concat_name))
+           return concat_name;
+         XFREE (concat_name);
+       }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+       has_slash = 1;
+       break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+       {
+         for (p = path; *p; p = p_next)
+           {
+             const char *q;
+             size_t p_len;
+             for (q = p; *q; q++)
+               if (IS_PATH_SEPARATOR (*q))
+                 break;
+             p_len = q - p;
+             p_next = (*q == '\0' ? q : q + 1);
+             if (p_len == 0)
+               {
+                 /* empty path: current directory */
+                 if (getcwd (tmp, LT_PATHMAX) == NULL)
+                   lt_fatal ("getcwd failed");
+                 tmp_len = strlen (tmp);
+                 concat_name =
+                   XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, tmp, tmp_len);
+                 concat_name[tmp_len] = '/';
+                 strcpy (concat_name + tmp_len + 1, wrapper);
+               }
+             else
+               {
+                 concat_name =
+                   XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, p, p_len);
+                 concat_name[p_len] = '/';
+                 strcpy (concat_name + p_len + 1, wrapper);
+               }
+             if (check_executable (concat_name))
+               return concat_name;
+             XFREE (concat_name);
+           }
+       }
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+                             tmp_pathspec));
+      if (lstat (tmp_pathspec, &s) == 0)
+       {
+         if (S_ISLNK (s.st_mode) != 0)
+           {
+             has_symlinks = 1;
+             break;
+           }
+
+         /* search backwards for last DIR_SEPARATOR */
+         p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+         while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           p--;
+         if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           {
+             /* no more DIR_SEPARATORS left */
+             break;
+           }
+         *p = '\0';
+       }
+      else
+       {
+         char *errstr = strerror (errno);
+         lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+       }
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("Could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+       *str = '\0';
+    }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+              const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    int len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      int orig_value_len = strlen (orig_value);
+      int add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+  const char *p;
+  int len;
+  if (!arg || !*arg)
+    return 1;
+
+  p = strchr (arg, (int)'=');
+
+  if (!p)
+    return 1;
+
+  *value = xstrdup (++p);
+
+  len = strlen (arg) - strlen (*value);
+  *name = XMALLOC (char, len);
+  strncpy (*name, arg, len-1);
+  (*name)[len - 1] = '\0';
+
+  return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+    }
+
+  lt_setenv (name, value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 0);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 1);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      int len = strlen (new_value);
+      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[len-1] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module="${wl}-single_module"
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       break
+       ;;
+      -all-static | -static | -static-libtool-libs)
+       case $arg in
+       -all-static)
+         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+           func_warning "complete static linking is impossible in this configuration"
+         fi
+         if test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       -static)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=built
+         ;;
+       -static-libtool-libs)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       esac
+       build_libtool_libs=no
+       build_old_libs=yes
+       break
+       ;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+       case $prev in
+       output)
+         func_append compile_command " @OUTPUT@"
+         func_append finalize_command " @OUTPUT@"
+         ;;
+       esac
+
+       case $prev in
+       dlfiles|dlprefiles)
+         if test "$preload" = no; then
+           # Add the symbol object into the linking commands.
+           func_append compile_command " @SYMFILE@"
+           func_append finalize_command " @SYMFILE@"
+           preload=yes
+         fi
+         case $arg in
+         *.la | *.lo) ;;  # We handle these cases below.
+         force)
+           if test "$dlself" = no; then
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         self)
+           if test "$prev" = dlprefiles; then
+             dlself=yes
+           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+             dlself=yes
+           else
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         *)
+           if test "$prev" = dlfiles; then
+             dlfiles="$dlfiles $arg"
+           else
+             dlprefiles="$dlprefiles $arg"
+           fi
+           prev=
+           continue
+           ;;
+         esac
+         ;;
+       expsyms)
+         export_symbols="$arg"
+         test -f "$arg" \
+           || func_fatal_error "symbol file \`$arg' does not exist"
+         prev=
+         continue
+         ;;
+       expsyms_regex)
+         export_symbols_regex="$arg"
+         prev=
+         continue
+         ;;
+       framework)
+         case $host in
+           *-*-darwin*)
+             case "$deplibs " in
+               *" $qarg.ltframework "*) ;;
+               *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+                  ;;
+             esac
+             ;;
+         esac
+         prev=
+         continue
+         ;;
+       inst_prefix)
+         inst_prefix_dir="$arg"
+         prev=
+         continue
+         ;;
+       objectlist)
+         if test -f "$arg"; then
+           save_arg=$arg
+           moreargs=
+           for fil in `cat "$save_arg"`
+           do
+#            moreargs="$moreargs $fil"
+             arg=$fil
+             # A libtool-controlled object.
+
+             # Check to see that this really is a libtool object.
+             if func_lalib_unsafe_p "$arg"; then
+               pic_object=
+               non_pic_object=
+
+               # Read the .lo file
+               func_source "$arg"
+
+               if test -z "$pic_object" ||
+                  test -z "$non_pic_object" ||
+                  test "$pic_object" = none &&
+                  test "$non_pic_object" = none; then
+                 func_fatal_error "cannot find name of object for \`$arg'"
+               fi
+
+               # Extract subdirectory from the argument.
+               func_dirname "$arg" "/" ""
+               xdir="$func_dirname_result"
+
+               if test "$pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 pic_object="$xdir$pic_object"
+
+                 if test "$prev" = dlfiles; then
+                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+                     dlfiles="$dlfiles $pic_object"
+                     prev=
+                     continue
+                   else
+                     # If libtool objects are unsupported, then we need to preload.
+                     prev=dlprefiles
+                   fi
+                 fi
+
+                 # CHECK ME:  I think I busted this.  -Ossama
+                 if test "$prev" = dlprefiles; then
+                   # Preload the old-style object.
+                   dlprefiles="$dlprefiles $pic_object"
+                   prev=
+                 fi
+
+                 # A PIC object.
+                 func_append libobjs " $pic_object"
+                 arg="$pic_object"
+               fi
+
+               # Non-PIC object.
+               if test "$non_pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 non_pic_object="$xdir$non_pic_object"
+
+                 # A standard non-PIC object
+                 func_append non_pic_objects " $non_pic_object"
+                 if test -z "$pic_object" || test "$pic_object" = none ; then
+                   arg="$non_pic_object"
+                 fi
+               else
+                 # If the PIC object exists, use it instead.
+                 # $xdir was prepended to $pic_object above.
+                 non_pic_object="$pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               fi
+             else
+               # Only an error if not doing a dry-run.
+               if $opt_dry_run; then
+                 # Extract subdirectory from the argument.
+                 func_dirname "$arg" "/" ""
+                 xdir="$func_dirname_result"
+
+                 func_lo2o "$arg"
+                 pic_object=$xdir$objdir/$func_lo2o_result
+                 non_pic_object=$xdir$func_lo2o_result
+                 func_append libobjs " $pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               else
+                 func_fatal_error "\`$arg' is not a valid libtool object"
+               fi
+             fi
+           done
+         else
+           func_fatal_error "link input file \`$arg' does not exist"
+         fi
+         arg=$save_arg
+         prev=
+         continue
+         ;;
+       precious_regex)
+         precious_files_regex="$arg"
+         prev=
+         continue
+         ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
+       rpath | xrpath)
+         # We need an absolute path.
+         case $arg in
+         [\\/]* | [A-Za-z]:[\\/]*) ;;
+         *)
+           func_fatal_error "only absolute run-paths are allowed"
+           ;;
+         esac
+         if test "$prev" = rpath; then
+           case "$rpath " in
+           *" $arg "*) ;;
+           *) rpath="$rpath $arg" ;;
+           esac
+         else
+           case "$xrpath " in
+           *" $arg "*) ;;
+           *) xrpath="$xrpath $arg" ;;
+           esac
+         fi
+         prev=
+         continue
+         ;;
+       shrext)
+         shrext_cmds="$arg"
+         prev=
+         continue
+         ;;
+       weak)
+         weak_libs="$weak_libs $arg"
+         prev=
+         continue
+         ;;
+       xcclinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xcompiler)
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xlinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $wl$qarg"
+         prev=
+         func_append compile_command " $wl$qarg"
+         func_append finalize_command " $wl$qarg"
+         continue
+         ;;
+       *)
+         eval "$prev=\"\$arg\""
+         prev=
+         continue
+         ;;
+       esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+       if test -n "$link_static_flag"; then
+         # See comment for -static flag below, for more details.
+         func_append compile_command " $link_static_flag"
+         func_append finalize_command " $link_static_flag"
+       fi
+       continue
+       ;;
+
+      -allow-undefined)
+       # FIXME: remove this flag sometime in the future.
+       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+       ;;
+
+      -avoid-version)
+       avoid_version=yes
+       continue
+       ;;
+
+      -dlopen)
+       prev=dlfiles
+       continue
+       ;;
+
+      -dlpreopen)
+       prev=dlprefiles
+       continue
+       ;;
+
+      -export-dynamic)
+       export_dynamic=yes
+       continue
+       ;;
+
+      -export-symbols | -export-symbols-regex)
+       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+         func_fatal_error "more than one -exported-symbols argument is not allowed"
+       fi
+       if test "X$arg" = "X-export-symbols"; then
+         prev=expsyms
+       else
+         prev=expsyms_regex
+       fi
+       continue
+       ;;
+
+      -framework)
+       prev=framework
+       continue
+       ;;
+
+      -inst-prefix-dir)
+       prev=inst_prefix
+       continue
+       ;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+       case $with_gcc/$host in
+       no/*-*-irix* | /*-*-irix*)
+         func_append compile_command " $arg"
+         func_append finalize_command " $arg"
+         ;;
+       esac
+       continue
+       ;;
+
+      -L*)
+       func_stripname '-L' '' "$arg"
+       dir=$func_stripname_result
+       if test -z "$dir"; then
+         if test "$#" -gt 0; then
+           func_fatal_error "require no space between \`-L' and \`$1'"
+         else
+           func_fatal_error "need path for \`-L' option"
+         fi
+       fi
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         absdir=`cd "$dir" && pwd`
+         test -z "$absdir" && \
+           func_fatal_error "cannot determine absolute directory name of \`$dir'"
+         dir="$absdir"
+         ;;
+       esac
+       case "$deplibs " in
+       *" -L$dir "*) ;;
+       *)
+         deplibs="$deplibs -L$dir"
+         lib_search_path="$lib_search_path $dir"
+         ;;
+       esac
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$dir:"*) ;;
+         ::) dllsearchpath=$dir;;
+         *) dllsearchpath="$dllsearchpath:$dir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+       continue
+       ;;
+
+      -l*)
+       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+           # These systems don't actually have a C or math library (as such)
+           continue
+           ;;
+         *-*-os2*)
+           # These systems don't actually have a C library (as such)
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C and math libraries are in the System framework
+           deplibs="$deplibs System.ltframework"
+           continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           test "X$arg" = "X-lc" && continue
+           ;;
+         esac
+       elif test "X$arg" = "X-lc_r"; then
+        case $host in
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+          # Do not include libc_r directly, use -pthread flag.
+          continue
+          ;;
+        esac
+       fi
+       deplibs="$deplibs $arg"
+       continue
+       ;;
+
+      -module)
+       module=yes
+       continue
+       ;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       prev=xcompiler
+       continue
+       ;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       case "$new_inherited_linker_flags " in
+           *" $arg "*) ;;
+           * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+       esac
+       continue
+       ;;
+
+      -multi_module)
+       single_module="${wl}-multi_module"
+       continue
+       ;;
+
+      -no-fast-install)
+       fast_install=no
+       continue
+       ;;
+
+      -no-install)
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+         # The PATH hackery in wrapper scripts is required on Windows
+         # and Darwin in order for the loader to find any dlls it needs.
+         func_warning "\`-no-install' is ignored for $host"
+         func_warning "assuming \`-no-fast-install' instead"
+         fast_install=no
+         ;;
+       *) no_install=yes ;;
+       esac
+       continue
+       ;;
+
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
+      -objectlist)
+       prev=objectlist
+       continue
+       ;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+       prev=precious_regex
+       continue
+       ;;
+
+      -release)
+       prev=release
+       continue
+       ;;
+
+      -rpath)
+       prev=rpath
+       continue
+       ;;
+
+      -R)
+       prev=xrpath
+       continue
+       ;;
+
+      -R*)
+       func_stripname '-R' '' "$arg"
+       dir=$func_stripname_result
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         func_fatal_error "only absolute run-paths are allowed"
+         ;;
+       esac
+       case "$xrpath " in
+       *" $dir "*) ;;
+       *) xrpath="$xrpath $dir" ;;
+       esac
+       continue
+       ;;
+
+      -shared)
+       # The effects of -shared are defined in a previous loop.
+       continue
+       ;;
+
+      -shrext)
+       prev=shrext
+       continue
+       ;;
+
+      -static | -static-libtool-libs)
+       # The effects of -static are defined in a previous loop.
+       # We used to do the same as -all-static on platforms that
+       # didn't have a PIC flag, but the assumption that the effects
+       # would be equivalent was wrong.  It would break on at least
+       # Digital Unix and AIX.
+       continue
+       ;;
+
+      -thread-safe)
+       thread_safe=yes
+       continue
+       ;;
+
+      -version-info)
+       prev=vinfo
+       continue
+       ;;
+
+      -version-number)
+       prev=vinfo
+       vinfo_number=yes
+       continue
+       ;;
+
+      -weak)
+        prev=weak
+       continue
+       ;;
+
+      -Wc,*)
+       func_stripname '-Wc,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Wl,*)
+       func_stripname '-Wl,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+         linker_flags="$linker_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Xcompiler)
+       prev=xcompiler
+       continue
+       ;;
+
+      -Xlinker)
+       prev=xlinker
+       continue
+       ;;
+
+      -XCClinker)
+       prev=xcclinker
+       continue
+       ;;
+
+      # -msg_* for osf cc
+      -msg_*)
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      *.$objext)
+       # A standard object.
+       objs="$objs $arg"
+       ;;
+
+      *.lo)
+       # A libtool-controlled object.
+
+       # Check to see that this really is a libtool object.
+       if func_lalib_unsafe_p "$arg"; then
+         pic_object=
+         non_pic_object=
+
+         # Read the .lo file
+         func_source "$arg"
+
+         if test -z "$pic_object" ||
+            test -z "$non_pic_object" ||
+            test "$pic_object" = none &&
+            test "$non_pic_object" = none; then
+           func_fatal_error "cannot find name of object for \`$arg'"
+         fi
+
+         # Extract subdirectory from the argument.
+         func_dirname "$arg" "/" ""
+         xdir="$func_dirname_result"
+
+         if test "$pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           pic_object="$xdir$pic_object"
+
+           if test "$prev" = dlfiles; then
+             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+               dlfiles="$dlfiles $pic_object"
+               prev=
+               continue
+             else
+               # If libtool objects are unsupported, then we need to preload.
+               prev=dlprefiles
+             fi
+           fi
+
+           # CHECK ME:  I think I busted this.  -Ossama
+           if test "$prev" = dlprefiles; then
+             # Preload the old-style object.
+             dlprefiles="$dlprefiles $pic_object"
+             prev=
+           fi
+
+           # A PIC object.
+           func_append libobjs " $pic_object"
+           arg="$pic_object"
+         fi
+
+         # Non-PIC object.
+         if test "$non_pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           non_pic_object="$xdir$non_pic_object"
+
+           # A standard non-PIC object
+           func_append non_pic_objects " $non_pic_object"
+           if test -z "$pic_object" || test "$pic_object" = none ; then
+             arg="$non_pic_object"
+           fi
+         else
+           # If the PIC object exists, use it instead.
+           # $xdir was prepended to $pic_object above.
+           non_pic_object="$pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         fi
+       else
+         # Only an error if not doing a dry-run.
+         if $opt_dry_run; then
+           # Extract subdirectory from the argument.
+           func_dirname "$arg" "/" ""
+           xdir="$func_dirname_result"
+
+           func_lo2o "$arg"
+           pic_object=$xdir$objdir/$func_lo2o_result
+           non_pic_object=$xdir$func_lo2o_result
+           func_append libobjs " $pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         else
+           func_fatal_error "\`$arg' is not a valid libtool object"
+         fi
+       fi
+       ;;
+
+      *.$libext)
+       # An archive.
+       deplibs="$deplibs $arg"
+       old_deplibs="$old_deplibs $arg"
+       continue
+       ;;
+
+      *.la)
+       # A libtool-controlled library.
+
+       if test "$prev" = dlfiles; then
+         # This library was specified with -dlopen.
+         dlfiles="$dlfiles $arg"
+         prev=
+       elif test "$prev" = dlprefiles; then
+         # The library was specified with -dlpreopen.
+         dlprefiles="$dlprefiles $arg"
+         prev=
+       else
+         deplibs="$deplibs $arg"
+       fi
+       continue
+       ;;
+
+      # Some other compiler argument.
+      *)
+       # Unknown arguments in both finalize_command and compile_command need
+       # to be aesthetically quoted because they are evaled later.
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname="$func_basename_result"
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_duplicate_deps ; then
+       case "$libs " in
+       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+       esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+       for pre_post_dep in $predeps $postdeps; do
+         case "$pre_post_deps " in
+         *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+         esac
+         pre_post_deps="$pre_post_deps $pre_post_dep"
+       done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+       passes="conv dlpreopen link"
+       for file in $dlfiles $dlprefiles; do
+         case $file in
+         *.la) ;;
+         *)
+           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+           ;;
+         esac
+       done
+       ;;
+    prog)
+       compile_deplibs=
+       finalize_deplibs=
+       alldeplibs=no
+       newdlfiles=
+       newdlprefiles=
+       passes="conv scan dlopen dlpreopen link"
+       ;;
+    *)  passes="conv"
+       ;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+       ## FIXME: Find the place where the list is rebuilt in the wrong
+       ##        order, and fix it there properly
+        tmp_deplibs=
+       for deplib in $deplibs; do
+         tmp_deplibs="$deplib $tmp_deplibs"
+       done
+       deplibs="$tmp_deplibs"
+      fi
+
+      if test "$linkmode,$pass" = "lib,link" ||
+        test "$linkmode,$pass" = "prog,scan"; then
+       libs="$deplibs"
+       deplibs=
+      fi
+      if test "$linkmode" = prog; then
+       case $pass in
+       dlopen) libs="$dlfiles" ;;
+       dlpreopen) libs="$dlprefiles" ;;
+       link)
+         libs="$deplibs %DEPLIBS%"
+         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+         ;;
+       esac
+      fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+       # Collect and forward deplibs of preopened libtool libs
+       for lib in $dlprefiles; do
+         # Ignore non-libtool-libs
+         dependency_libs=
+         case $lib in
+         *.la) func_source "$lib" ;;
+         esac
+
+         # Collect preopened libtool deplibs, except any this library
+         # has declared as weak libs
+         for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+           case " $weak_libs " in
+           *" $deplib_base "*) ;;
+           *) deplibs="$deplibs $deplib" ;;
+           esac
+         done
+       done
+       libs="$dlprefiles"
+      fi
+      if test "$pass" = dlopen; then
+       # Collect dlpreopened libraries
+       save_deplibs="$deplibs"
+       deplibs=
+      fi
+
+      for deplib in $libs; do
+       lib=
+       found=no
+       case $deplib in
+       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           compiler_flags="$compiler_flags $deplib"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -l*)
+         if test "$linkmode" != lib && test "$linkmode" != prog; then
+           func_warning "\`-l' is ignored for archives/objects"
+           continue
+         fi
+         func_stripname '-l' '' "$deplib"
+         name=$func_stripname_result
+         if test "$linkmode" = lib; then
+           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+         else
+           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+         fi
+         for searchdir in $searchdirs; do
+           for search_ext in .la $std_shrext .so .a; do
+             # Search the libtool library
+             lib="$searchdir/lib${name}${search_ext}"
+             if test -f "$lib"; then
+               if test "$search_ext" = ".la"; then
+                 found=yes
+               else
+                 found=no
+               fi
+               break 2
+             fi
+           done
+         done
+         if test "$found" != yes; then
+           # deplib doesn't seem to be a libtool library
+           if test "$linkmode,$pass" = "prog,link"; then
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             deplibs="$deplib $deplibs"
+             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+           fi
+           continue
+         else # deplib is a libtool library
+           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+           # We need to do some special things here, and not later.
+           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             case " $predeps $postdeps " in
+             *" $deplib "*)
+               if func_lalib_p "$lib"; then
+                 library_names=
+                 old_library=
+                 func_source "$lib"
+                 for l in $old_library $library_names; do
+                   ll="$l"
+                 done
+                 if test "X$ll" = "X$old_library" ; then # only static version available
+                   found=no
+                   func_dirname "$lib" "" "."
+                   ladir="$func_dirname_result"
+                   lib=$ladir/$old_library
+                   if test "$linkmode,$pass" = "prog,link"; then
+                     compile_deplibs="$deplib $compile_deplibs"
+                     finalize_deplibs="$deplib $finalize_deplibs"
+                   else
+                     deplibs="$deplib $deplibs"
+                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+                   fi
+                   continue
+                 fi
+               fi
+               ;;
+             *) ;;
+             esac
+           fi
+         fi
+         ;; # -l
+       *.ltframework)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           deplibs="$deplib $deplibs"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -L*)
+         case $linkmode in
+         lib)
+           deplibs="$deplib $deplibs"
+           test "$pass" = conv && continue
+           newdependency_libs="$deplib $newdependency_libs"
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         prog)
+           if test "$pass" = conv; then
+             deplibs="$deplib $deplibs"
+             continue
+           fi
+           if test "$pass" = scan; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         *)
+           func_warning "\`-L' is ignored for archives/objects"
+           ;;
+         esac # linkmode
+         continue
+         ;; # -L
+       -R*)
+         if test "$pass" = link; then
+           func_stripname '-R' '' "$deplib"
+           dir=$func_stripname_result
+           # Make sure the xrpath contains only unique directories.
+           case "$xrpath " in
+           *" $dir "*) ;;
+           *) xrpath="$xrpath $dir" ;;
+           esac
+         fi
+         deplibs="$deplib $deplibs"
+         continue
+         ;;
+       *.la) lib="$deplib" ;;
+       *.$libext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+           continue
+         fi
+         case $linkmode in
+         lib)
+           # Linking convenience modules into shared libraries is allowed,
+           # but linking other static libraries is non-portable.
+           case " $dlpreconveniencelibs " in
+           *" $deplib "*) ;;
+           *)
+             valid_a_lib=no
+             case $deplibs_check_method in
+               match_pattern*)
+                 set dummy $deplibs_check_method; shift
+                 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+                 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+                   | $EGREP "$match_pattern_regex" > /dev/null; then
+                   valid_a_lib=yes
+                 fi
+               ;;
+               pass_all)
+                 valid_a_lib=yes
+               ;;
+             esac
+             if test "$valid_a_lib" != yes; then
+               $ECHO
+               $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+               $ECHO "*** that it is just a static archive that I should not use here."
+             else
+               $ECHO
+               $ECHO "*** Warning: Linking the shared library $output against the"
+               $ECHO "*** static library $deplib is not portable!"
+               deplibs="$deplib $deplibs"
+             fi
+             ;;
+           esac
+           continue
+           ;;
+         prog)
+           if test "$pass" != link; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           continue
+           ;;
+         esac # linkmode
+         ;; # *.$libext
+       *.lo | *.$objext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+         elif test "$linkmode" = prog; then
+           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+             # If there is no dlopen support or we're linking statically,
+             # we need to preload.
+             newdlprefiles="$newdlprefiles $deplib"
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             newdlfiles="$newdlfiles $deplib"
+           fi
+         fi
+         continue
+         ;;
+       %DEPLIBS%)
+         alldeplibs=yes
+         continue
+         ;;
+       esac # case $deplib
+
+       if test "$found" = yes || test -f "$lib"; then :
+       else
+         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+       fi
+
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$lib" \
+         || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+       func_dirname "$lib" "" "."
+       ladir="$func_dirname_result"
+
+       dlname=
+       dlopen=
+       dlpreopen=
+       libdir=
+       library_names=
+       old_library=
+       inherited_linker_flags=
+       # If the library was installed with an old release of libtool,
+       # it will not redefine variables installed, or shouldnotlink
+       installed=yes
+       shouldnotlink=no
+       avoidtemprpath=
+
+
+       # Read the .la file
+       func_source "$lib"
+
+       # Convert "-framework foo" to "foo.ltframework"
+       if test -n "$inherited_linker_flags"; then
+         tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+         for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+           case " $new_inherited_linker_flags " in
+             *" $tmp_inherited_linker_flag "*) ;;
+             *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+           esac
+         done
+       fi
+       dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       if test "$linkmode,$pass" = "lib,link" ||
+          test "$linkmode,$pass" = "prog,scan" ||
+          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+         test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+         test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+       fi
+
+       if test "$pass" = conv; then
+         # Only check for convenience libraries
+         deplibs="$lib $deplibs"
+         if test -z "$libdir"; then
+           if test -z "$old_library"; then
+             func_fatal_error "cannot find name of link library for \`$lib'"
+           fi
+           # It is a libtool convenience library, so add in its objects.
+           convenience="$convenience $ladir/$objdir/$old_library"
+           old_convenience="$old_convenience $ladir/$objdir/$old_library"
+         elif test "$linkmode" != prog && test "$linkmode" != lib; then
+           func_fatal_error "\`$lib' is not a convenience library"
+         fi
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           deplibs="$deplib $deplibs"
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+         continue
+       fi # $pass = conv
+
+
+       # Get the name of the library we link against.
+       linklib=
+       for l in $old_library $library_names; do
+         linklib="$l"
+       done
+       if test -z "$linklib"; then
+         func_fatal_error "cannot find name of link library for \`$lib'"
+       fi
+
+       # This library was specified with -dlopen.
+       if test "$pass" = dlopen; then
+         if test -z "$libdir"; then
+           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+         fi
+         if test -z "$dlname" ||
+            test "$dlopen_support" != yes ||
+            test "$build_libtool_libs" = no; then
+           # If there is no dlname, no dlopen support or we're linking
+           # statically, we need to preload.  We also need to preload any
+           # dependent libraries so libltdl's deplib preloader doesn't
+           # bomb out in the load deplibs phase.
+           dlprefiles="$dlprefiles $lib $dependency_libs"
+         else
+           newdlfiles="$newdlfiles $lib"
+         fi
+         continue
+       fi # $pass = dlopen
+
+       # We need an absolute path.
+       case $ladir in
+       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+       *)
+         abs_ladir=`cd "$ladir" && pwd`
+         if test -z "$abs_ladir"; then
+           func_warning "cannot determine absolute directory name of \`$ladir'"
+           func_warning "passing it literally to the linker, although it might fail"
+           abs_ladir="$ladir"
+         fi
+         ;;
+       esac
+       func_basename "$lib"
+       laname="$func_basename_result"
+
+       # Find the relevant object directory and library name.
+       if test "X$installed" = Xyes; then
+         if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           func_warning "library \`$lib' was moved."
+           dir="$ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
+         else
+           dir="$libdir"
+           absdir="$libdir"
+         fi
+         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+       else
+         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           dir="$ladir"
+           absdir="$abs_ladir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         fi
+       fi # $installed = yes
+       func_stripname 'lib' '.la' "$laname"
+       name=$func_stripname_result
+
+       # This library was specified with -dlpreopen.
+       if test "$pass" = dlpreopen; then
+         if test -z "$libdir" && test "$linkmode" = prog; then
+           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+         fi
+         # Prefer using a static library (so that no silly _DYNAMIC symbols
+         # are required to link).
+         if test -n "$old_library"; then
+           newdlprefiles="$newdlprefiles $dir/$old_library"
+           # Keep a list of preopened convenience libraries to check
+           # that they are being used correctly in the link pass.
+           test -z "$libdir" && \
+               dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+         # Otherwise, use the dlname, so that lt_dlopen finds it.
+         elif test -n "$dlname"; then
+           newdlprefiles="$newdlprefiles $dir/$dlname"
+         else
+           newdlprefiles="$newdlprefiles $dir/$linklib"
+         fi
+       fi # $pass = dlpreopen
+
+       if test -z "$libdir"; then
+         # Link the convenience library
+         if test "$linkmode" = lib; then
+           deplibs="$dir/$old_library $deplibs"
+         elif test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$dir/$old_library $compile_deplibs"
+           finalize_deplibs="$dir/$old_library $finalize_deplibs"
+         else
+           deplibs="$lib $deplibs" # used for prog,scan pass
+         fi
+         continue
+       fi
+
+
+       if test "$linkmode" = prog && test "$pass" != link; then
+         newlib_search_path="$newlib_search_path $ladir"
+         deplibs="$lib $deplibs"
+
+         linkalldeplibs=no
+         if test "$link_all_deplibs" != no || test -z "$library_names" ||
+            test "$build_libtool_libs" = no; then
+           linkalldeplibs=yes
+         fi
+
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           case $deplib in
+           -L*) func_stripname '-L' '' "$deplib"
+                newlib_search_path="$newlib_search_path $func_stripname_result"
+                ;;
+           esac
+           # Need to link against all dependency_libs?
+           if test "$linkalldeplibs" = yes; then
+             deplibs="$deplib $deplibs"
+           else
+             # Need to hardcode shared library paths
+             # or/and link against static libraries
+             newdependency_libs="$deplib $newdependency_libs"
+           fi
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done # for deplib
+         continue
+       fi # $linkmode = prog...
+
+       if test "$linkmode,$pass" = "prog,link"; then
+         if test -n "$library_names" &&
+            { { test "$prefer_static_libs" = no ||
+                test "$prefer_static_libs,$installed" = "built,yes"; } ||
+              test -z "$old_library"; }; then
+           # We need to hardcode the library path
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+             # Make sure the rpath contains only unique directories.
+             case "$temp_rpath:" in
+             *"$absdir:"*) ;;
+             *) temp_rpath="$temp_rpath$absdir:" ;;
+             esac
+           fi
+
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi # $linkmode,$pass = prog,link...
+
+         if test "$alldeplibs" = yes &&
+            { test "$deplibs_check_method" = pass_all ||
+              { test "$build_libtool_libs" = yes &&
+                test -n "$library_names"; }; }; then
+           # We only need to search for static libraries
+           continue
+         fi
+       fi
+
+       link_static=no # Whether the deplib will be linked statically
+       use_static_libs=$prefer_static_libs
+       if test "$use_static_libs" = built && test "$installed" = yes; then
+         use_static_libs=no
+       fi
+       if test -n "$library_names" &&
+          { test "$use_static_libs" = no || test -z "$old_library"; }; then
+         case $host in
+         *cygwin* | *mingw* | *cegcc*)
+             # No point in relinking DLLs because paths are not encoded
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=no
+           ;;
+         *)
+           if test "$installed" = no; then
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=yes
+           fi
+           ;;
+         esac
+         # This is a shared library
+
+         # Warn about portability, can't link against -module's on some
+         # systems (darwin).  Don't bleat about dlopened modules though!
+         dlopenmodule=""
+         for dlpremoduletest in $dlprefiles; do
+           if test "X$dlpremoduletest" = "X$lib"; then
+             dlopenmodule="$dlpremoduletest"
+             break
+           fi
+         done
+         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+           $ECHO
+           if test "$linkmode" = prog; then
+             $ECHO "*** Warning: Linking the executable $output against the loadable module"
+           else
+             $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+           fi
+           $ECHO "*** $linklib is not portable!"
+         fi
+         if test "$linkmode" = lib &&
+            test "$hardcode_into_libs" = yes; then
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi
+
+         if test -n "$old_archive_from_expsyms_cmds"; then
+           # figure out the soname
+           set dummy $library_names
+           shift
+           realname="$1"
+           shift
+           libname=`eval "\\$ECHO \"$libname_spec\""`
+           # use dlname if we got it. it's perfectly good, no?
+           if test -n "$dlname"; then
+             soname="$dlname"
+           elif test -n "$soname_spec"; then
+             # bleh windows
+             case $host in
+             *cygwin* | mingw* | *cegcc*)
+               func_arith $current - $age
+               major=$func_arith_result
+               versuffix="-$major"
+               ;;
+             esac
+             eval soname=\"$soname_spec\"
+           else
+             soname="$realname"
+           fi
+
+           # Make a new name for the extract_expsyms_cmds to use
+           soroot="$soname"
+           func_basename "$soroot"
+           soname="$func_basename_result"
+           func_stripname 'lib' '.dll' "$soname"
+           newlib=libimp-$func_stripname_result.a
+
+           # If the library has no export list, then create one now
+           if test -f "$output_objdir/$soname-def"; then :
+           else
+             func_verbose "extracting exported symbol list from \`$soname'"
+             func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+           fi
+
+           # Create $newlib
+           if test -f "$output_objdir/$newlib"; then :; else
+             func_verbose "generating import library for \`$soname'"
+             func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+           fi
+           # make sure the library variables are pointing to the new library
+           dir=$output_objdir
+           linklib=$newlib
+         fi # test -n "$old_archive_from_expsyms_cmds"
+
+         if test "$linkmode" = prog || test "$mode" != relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           lib_linked=yes
+           case $hardcode_action in
+           immediate | unsupported)
+             if test "$hardcode_direct" = no; then
+               add="$dir/$linklib"
+               case $host in
+                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
+                 *-*-darwin* )
+                   # if the lib is a (non-dlopened) module then we can not
+                   # link against it, someone is ignoring the earlier warnings
+                   if /usr/bin/file -L $add 2> /dev/null |
+                        $GREP ": [^:]* bundle" >/dev/null ; then
+                     if test "X$dlopenmodule" != "X$lib"; then
+                       $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+                       if test -z "$old_library" ; then
+                         $ECHO
+                         $ECHO "*** And there doesn't seem to be a static archive available"
+                         $ECHO "*** The link will probably fail, sorry"
+                       else
+                         add="$dir/$old_library"
+                       fi
+                     elif test -n "$old_library"; then
+                       add="$dir/$old_library"
+                     fi
+                   fi
+               esac
+             elif test "$hardcode_minus_L" = no; then
+               case $host in
+               *-*-sunos*) add_shlibpath="$dir" ;;
+               esac
+               add_dir="-L$dir"
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = no; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           relink)
+             if test "$hardcode_direct" = yes &&
+                test "$hardcode_direct_absolute" = no; then
+               add="$dir/$linklib"
+             elif test "$hardcode_minus_L" = yes; then
+               add_dir="-L$dir"
+               # Try looking first in the location we're being installed to.
+               if test -n "$inst_prefix_dir"; then
+                 case $libdir in
+                   [\\/]*)
+                     add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                     ;;
+                 esac
+               fi
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = yes; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           *) lib_linked=no ;;
+           esac
+
+           if test "$lib_linked" != yes; then
+             func_fatal_configuration "unsupported hardcode properties"
+           fi
+
+           if test -n "$add_shlibpath"; then
+             case :$compile_shlibpath: in
+             *":$add_shlibpath:"*) ;;
+             *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+             esac
+           fi
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+             test -n "$add" && compile_deplibs="$add $compile_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+             if test "$hardcode_direct" != yes &&
+                test "$hardcode_minus_L" != yes &&
+                test "$hardcode_shlibpath_var" = yes; then
+               case :$finalize_shlibpath: in
+               *":$libdir:"*) ;;
+               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+               esac
+             fi
+           fi
+         fi
+
+         if test "$linkmode" = prog || test "$mode" = relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           # Finalize command for both is simple: just hardcode it.
+           if test "$hardcode_direct" = yes &&
+              test "$hardcode_direct_absolute" = no; then
+             add="$libdir/$linklib"
+           elif test "$hardcode_minus_L" = yes; then
+             add_dir="-L$libdir"
+             add="-l$name"
+           elif test "$hardcode_shlibpath_var" = yes; then
+             case :$finalize_shlibpath: in
+             *":$libdir:"*) ;;
+             *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+             esac
+             add="-l$name"
+           elif test "$hardcode_automatic" = yes; then
+             if test -n "$inst_prefix_dir" &&
+                test -f "$inst_prefix_dir$libdir/$linklib" ; then
+               add="$inst_prefix_dir$libdir/$linklib"
+             else
+               add="$libdir/$linklib"
+             fi
+           else
+             # We cannot seem to hardcode it, guess we'll fake it.
+             add_dir="-L$libdir"
+             # Try looking first in the location we're being installed to.
+             if test -n "$inst_prefix_dir"; then
+               case $libdir in
+                 [\\/]*)
+                   add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                   ;;
+               esac
+             fi
+             add="-l$name"
+           fi
+
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+           fi
+         fi
+       elif test "$linkmode" = prog; then
+         # Here we assume that one of hardcode_direct or hardcode_minus_L
+         # is not unsupported.  This is valid on all known static and
+         # shared platforms.
+         if test "$hardcode_direct" != unsupported; then
+           test -n "$old_library" && linklib="$old_library"
+           compile_deplibs="$dir/$linklib $compile_deplibs"
+           finalize_deplibs="$dir/$linklib $finalize_deplibs"
+         else
+           compile_deplibs="-l$name -L$dir $compile_deplibs"
+           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+         fi
+       elif test "$build_libtool_libs" = yes; then
+         # Not a shared library
+         if test "$deplibs_check_method" != pass_all; then
+           # We're trying link a shared library against a static one
+           # but the system doesn't support it.
+
+           # Just print a warning and add the library to dependency_libs so
+           # that the program can be linked against the static library.
+           $ECHO
+           $ECHO "*** Warning: This system can not link to static lib archive $lib."
+           $ECHO "*** I have the capability to make that library automatically link in when"
+           $ECHO "*** you link to this library.  But I can only do this if you have a"
+           $ECHO "*** shared version of the library, which you do not appear to have."
+           if test "$module" = yes; then
+             $ECHO "*** But as you try to build a module library, libtool will still create "
+             $ECHO "*** a static module, that should work as long as the dlopening application"
+             $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+             if test -z "$global_symbol_pipe"; then
+               $ECHO
+               $ECHO "*** However, this would only work if libtool was able to extract symbol"
+               $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+               $ECHO "*** not find such a program.  So, this module is probably useless."
+               $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+             fi
+             if test "$build_old_libs" = no; then
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         else
+           deplibs="$dir/$old_library $deplibs"
+           link_static=yes
+         fi
+       fi # link shared/static library?
+
+       if test "$linkmode" = lib; then
+         if test -n "$dependency_libs" &&
+            { test "$hardcode_into_libs" != yes ||
+              test "$build_old_libs" = yes ||
+              test "$link_static" = yes; }; then
+           # Extract -R from dependency_libs
+           temp_deplibs=
+           for libdir in $dependency_libs; do
+             case $libdir in
+             -R*) func_stripname '-R' '' "$libdir"
+                  temp_xrpath=$func_stripname_result
+                  case " $xrpath " in
+                  *" $temp_xrpath "*) ;;
+                  *) xrpath="$xrpath $temp_xrpath";;
+                  esac;;
+             *) temp_deplibs="$temp_deplibs $libdir";;
+             esac
+           done
+           dependency_libs="$temp_deplibs"
+         fi
+
+         newlib_search_path="$newlib_search_path $absdir"
+         # Link against this library
+         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+         # ... and its dependency_libs
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           newdependency_libs="$deplib $newdependency_libs"
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+
+         if test "$link_all_deplibs" != no; then
+           # Add the search paths of all dependency libraries
+           for deplib in $dependency_libs; do
+             case $deplib in
+             -L*) path="$deplib" ;;
+             *.la)
+               func_dirname "$deplib" "" "."
+               dir="$func_dirname_result"
+               # We need an absolute path.
+               case $dir in
+               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+               *)
+                 absdir=`cd "$dir" && pwd`
+                 if test -z "$absdir"; then
+                   func_warning "cannot determine absolute directory name of \`$dir'"
+                   absdir="$dir"
+                 fi
+                 ;;
+               esac
+               if $GREP "^installed=no" $deplib > /dev/null; then
+               case $host in
+               *-*-darwin*)
+                 depdepl=
+                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names" ; then
+                   for tmp in $deplibrary_names ; do
+                     depdepl=$tmp
+                   done
+                   if test -f "$absdir/$objdir/$depdepl" ; then
+                     depdepl="$absdir/$objdir/$depdepl"
+                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+                     compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+                     linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+                     path=
+                   fi
+                 fi
+                 ;;
+               *)
+                 path="-L$absdir/$objdir"
+                 ;;
+               esac
+               else
+                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 test -z "$libdir" && \
+                   func_fatal_error "\`$deplib' is not a valid libtool archive"
+                 test "$absdir" != "$libdir" && \
+                   func_warning "\`$deplib' seems to be moved"
+
+                 path="-L$absdir"
+               fi
+               ;;
+             esac
+             case " $deplibs " in
+             *" $path "*) ;;
+             *) deplibs="$path $deplibs" ;;
+             esac
+           done
+         fi # link_all_deplibs != no
+       fi # linkmode = lib
+      done # for deplib in $libs
+      if test "$pass" = link; then
+       if test "$linkmode" = "prog"; then
+         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+       else
+         compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       fi
+      fi
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+       # Link the dlpreopened libraries before other libraries
+       for deplib in $save_deplibs; do
+         deplibs="$deplib $deplibs"
+       done
+      fi
+      if test "$pass" != dlopen; then
+       if test "$pass" != conv; then
+         # Make sure lib_search_path contains only unique directories.
+         lib_search_path=
+         for dir in $newlib_search_path; do
+           case "$lib_search_path " in
+           *" $dir "*) ;;
+           *) lib_search_path="$lib_search_path $dir" ;;
+           esac
+         done
+         newlib_search_path=
+       fi
+
+       if test "$linkmode,$pass" != "prog,link"; then
+         vars="deplibs"
+       else
+         vars="compile_deplibs finalize_deplibs"
+       fi
+       for var in $vars dependency_libs; do
+         # Add libraries to $var in reverse order
+         eval tmp_libs=\"\$$var\"
+         new_libs=
+         for deplib in $tmp_libs; do
+           # FIXME: Pedantically, this is the right thing to do, so
+           #        that some nasty dependency loop isn't accidentally
+           #        broken:
+           #new_libs="$deplib $new_libs"
+           # Pragmatically, this seems to cause very few problems in
+           # practice:
+           case $deplib in
+           -L*) new_libs="$deplib $new_libs" ;;
+           -R*) ;;
+           *)
+             # And here is the reason: when a library appears more
+             # than once as an explicit dependence of a library, or
+             # is implicitly linked in more than once by the
+             # compiler, it is considered special, and multiple
+             # occurrences thereof are not removed.  Compare this
+             # with having the same library being listed as a
+             # dependency of multiple other libraries: in this case,
+             # we know (pedantically, we assume) the library does not
+             # need to be listed more than once, so we keep only the
+             # last copy.  This is not always right, but it is rare
+             # enough that we require users that really mean to play
+             # such unportable linking tricks to link the library
+             # using -Wl,-lname, so that libtool does not consider it
+             # for duplicate removal.
+             case " $specialdeplibs " in
+             *" $deplib "*) new_libs="$deplib $new_libs" ;;
+             *)
+               case " $new_libs " in
+               *" $deplib "*) ;;
+               *) new_libs="$deplib $new_libs" ;;
+               esac
+               ;;
+             esac
+             ;;
+           esac
+         done
+         tmp_libs=
+         for deplib in $new_libs; do
+           case $deplib in
+           -L*)
+             case " $tmp_libs " in
+             *" $deplib "*) ;;
+             *) tmp_libs="$tmp_libs $deplib" ;;
+             esac
+             ;;
+           *) tmp_libs="$tmp_libs $deplib" ;;
+           esac
+         done
+         eval $var=\"$tmp_libs\"
+       done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+       case " $predeps $postdeps $compiler_lib_search_path " in
+       *" $i "*)
+         i=""
+         ;;
+       esac
+       if test -n "$i" ; then
+         tmp_libs="$tmp_libs $i"
+       fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+       func_warning "\`-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+       func_stripname 'lib' '.la' "$outputname"
+       name=$func_stripname_result
+       eval shared_ext=\"$shrext_cmds\"
+       eval libname=\"$libname_spec\"
+       ;;
+      *)
+       test "$module" = no && \
+         func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+       if test "$need_lib_prefix" != no; then
+         # Add the "lib" prefix for modules if required
+         func_stripname '' '.la' "$outputname"
+         name=$func_stripname_result
+         eval shared_ext=\"$shrext_cmds\"
+         eval libname=\"$libname_spec\"
+       else
+         func_stripname '' '.la' "$outputname"
+         libname=$func_stripname_result
+       fi
+       ;;
+      esac
+
+      if test -n "$objs"; then
+       if test "$deplibs_check_method" != pass_all; then
+         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+       else
+         $ECHO
+         $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+         $ECHO "*** objects $objs is not portable!"
+         libobjs="$libobjs $objs"
+       fi
+      fi
+
+      test "$dlself" != no && \
+       func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test "$#" -gt 1 && \
+       func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
+
+      oldlibs=
+      if test -z "$rpath"; then
+       if test "$build_libtool_libs" = yes; then
+         # Building a libtool convenience library.
+         # Some compilers have problems with a `.al' extension so
+         # convenience libraries should have the same extension an
+         # archive normally would.
+         oldlibs="$output_objdir/$libname.$libext $oldlibs"
+         build_libtool_libs=convenience
+         build_old_libs=yes
+       fi
+
+       test -n "$vinfo" && \
+         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+       test -n "$release" && \
+         func_warning "\`-release' is ignored for convenience libraries"
+      else
+
+       # Parse the version information argument.
+       save_ifs="$IFS"; IFS=':'
+       set dummy $vinfo 0 0 0
+       shift
+       IFS="$save_ifs"
+
+       test -n "$7" && \
+         func_fatal_help "too many parameters to \`-version-info'"
+
+       # convert absolute version numbers to libtool ages
+       # this retains compatibility with .la files and attempts
+       # to make the code below a bit more comprehensible
+
+       case $vinfo_number in
+       yes)
+         number_major="$1"
+         number_minor="$2"
+         number_revision="$3"
+         #
+         # There are really only two kinds -- those that
+         # use the current revision as the major version
+         # and those that subtract age and use age as
+         # a minor version.  But, then there is irix
+         # which has an extra 1 added just for fun
+         #
+         case $version_type in
+         darwin|linux|osf|windows|none)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_revision"
+           ;;
+         freebsd-aout|freebsd-elf|sunos)
+           current="$number_major"
+           revision="$number_minor"
+           age="0"
+           ;;
+         irix|nonstopux)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_minor"
+           lt_irix_increment=no
+           ;;
+         *)
+           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+           ;;
+         esac
+         ;;
+       no)
+         current="$1"
+         revision="$2"
+         age="$3"
+         ;;
+       esac
+
+       # Check that each of the things are valid numbers.
+       case $current in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "CURRENT \`$current' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $revision in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "REVISION \`$revision' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $age in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "AGE \`$age' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       if test "$age" -gt "$current"; then
+         func_error "AGE \`$age' is greater than the current interface number \`$current'"
+         func_fatal_error "\`$vinfo' is not valid version information"
+       fi
+
+       # Calculate the version variables.
+       major=
+       versuffix=
+       verstring=
+       case $version_type in
+       none) ;;
+
+       darwin)
+         # Like Linux, but with the current version available in
+         # verstring for coding it into the library header
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         # Darwin ld doesn't like 0 for these options...
+         func_arith $current + 1
+         minor_current=$func_arith_result
+         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+         ;;
+
+       freebsd-aout)
+         major=".$current"
+         versuffix=".$current.$revision";
+         ;;
+
+       freebsd-elf)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       irix | nonstopux)
+         if test "X$lt_irix_increment" = "Xno"; then
+           func_arith $current - $age
+         else
+           func_arith $current - $age + 1
+         fi
+         major=$func_arith_result
+
+         case $version_type in
+           nonstopux) verstring_prefix=nonstopux ;;
+           *)         verstring_prefix=sgi ;;
+         esac
+         verstring="$verstring_prefix$major.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$revision
+         while test "$loop" -ne 0; do
+           func_arith $revision - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring_prefix$major.$iface:$verstring"
+         done
+
+         # Before this point, $major must not contain `.'.
+         major=.$major
+         versuffix="$major.$revision"
+         ;;
+
+       linux)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         ;;
+
+       osf)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix=".$current.$age.$revision"
+         verstring="$current.$age.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$age
+         while test "$loop" -ne 0; do
+           func_arith $current - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring:${iface}.0"
+         done
+
+         # Make executables depend on our current version.
+         verstring="$verstring:${current}.0"
+         ;;
+
+       qnx)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       sunos)
+         major=".$current"
+         versuffix=".$current.$revision"
+         ;;
+
+       windows)
+         # Use '-' rather than '.', since we only want one
+         # extension on DOS 8.3 filesystems.
+         func_arith $current - $age
+         major=$func_arith_result
+         versuffix="-$major"
+         ;;
+
+       *)
+         func_fatal_configuration "unknown library version type \`$version_type'"
+         ;;
+       esac
+
+       # Clear the version info if we defaulted, and they specified a release.
+       if test -z "$vinfo" && test -n "$release"; then
+         major=
+         case $version_type in
+         darwin)
+           # we can't check for "0.0" in archive_cmds due to quoting
+           # problems, so we reset it completely
+           verstring=
+           ;;
+         *)
+           verstring="0.0"
+           ;;
+         esac
+         if test "$need_version" = no; then
+           versuffix=
+         else
+           versuffix=".0.0"
+         fi
+       fi
+
+       # Remove version info from name if versioning should be avoided
+       if test "$avoid_version" = yes && test "$need_version" = no; then
+         major=
+         versuffix=
+         verstring=""
+       fi
+
+       # Check to see if the archive will have undefined symbols.
+       if test "$allow_undefined" = yes; then
+         if test "$allow_undefined_flag" = unsupported; then
+           func_warning "undefined symbols not allowed in $host shared libraries"
+           build_libtool_libs=no
+           build_old_libs=yes
+         fi
+       else
+         # Don't allow undefined symbols.
+         allow_undefined_flag="$no_undefined_flag"
+       fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$mode" != relink; then
+       # Remove our outputs, but don't remove object files since they
+       # may have been created when compiling PIC objects.
+       removelist=
+       tempremovelist=`$ECHO "$output_objdir/*"`
+       for p in $tempremovelist; do
+         case $p in
+           *.$objext | *.gcno)
+              ;;
+           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+              if test "X$precious_files_regex" != "X"; then
+                if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+                then
+                  continue
+                fi
+              fi
+              removelist="$removelist $p"
+              ;;
+           *) ;;
+         esac
+       done
+       test -n "$removelist" && \
+         func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+       oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+       # Transform .lo files to .o files.
+       oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #        lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #        deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #        dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       temp_xrpath=
+       for libdir in $xrpath; do
+         temp_xrpath="$temp_xrpath -R$libdir"
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+         dependency_libs="$temp_xrpath $dependency_libs"
+       fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+       case " $dlprefiles $dlfiles " in
+       *" $lib "*) ;;
+       *) dlfiles="$dlfiles $lib" ;;
+       esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+       case "$dlprefiles " in
+       *" $lib "*) ;;
+       *) dlprefiles="$dlprefiles $lib" ;;
+       esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+       if test -n "$rpath"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+           # these systems don't actually have a c library (as such)!
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C library is in the System framework
+           deplibs="$deplibs System.ltframework"
+           ;;
+         *-*-netbsd*)
+           # Don't link with libc until the a.out ld.so is fixed.
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           ;;
+         *)
+           # Add libc to deplibs on all other systems if necessary.
+           if test "$build_libtool_need_lc" = "yes"; then
+             deplibs="$deplibs -lc"
+           fi
+           ;;
+         esac
+       fi
+
+       # Transform deplibs into only deplibs that can be linked in shared.
+       name_save=$name
+       libname_save=$libname
+       release_save=$release
+       versuffix_save=$versuffix
+       major_save=$major
+       # I'm not sure if I'm treating the release correctly.  I think
+       # release should show up in the -l (ie -lgmp5) so we don't want to
+       # add it in twice.  Is that correct?
+       release=""
+       versuffix=""
+       major=""
+       newdeplibs=
+       droppeddeps=no
+       case $deplibs_check_method in
+       pass_all)
+         # Don't check for shared/static.  Everything works.
+         # This might be a little naive.  We might want to check
+         # whether the library exists or not.  But this is on
+         # osf3 & osf4 and I'm not really sure... Just
+         # implementing what was already the behavior.
+         newdeplibs=$deplibs
+         ;;
+       test_compile)
+         # This code stresses the "libraries are programs" paradigm to its
+         # limits. Maybe even breaks it.  We compile a program, linking it
+         # against the deplibs as a proxy for the library.  Then we can check
+         # whether they linked in statically or dynamically with ldd.
+         $opt_dry_run || $RM conftest.c
+         cat > conftest.c <<EOF
+         int main() { return 0; }
+EOF
+         $opt_dry_run || $RM conftest
+         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+           ldd_output=`ldd conftest`
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                 case " $predeps $postdeps " in
+                 *" $i "*)
+                   newdeplibs="$newdeplibs $i"
+                   i=""
+                   ;;
+                 esac
+               fi
+               if test -n "$i" ; then
+                 libname=`eval "\\$ECHO \"$libname_spec\""`
+                 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                 set dummy $deplib_matches; shift
+                 deplib_match=$1
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   newdeplibs="$newdeplibs $i"
+                 else
+                   droppeddeps=yes
+                   $ECHO
+                   $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                   $ECHO "*** I have the capability to make that library automatically link in when"
+                   $ECHO "*** you link to this library.  But I can only do this if you have a"
+                   $ECHO "*** shared version of the library, which I believe you do not have"
+                   $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+                   $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+                 fi
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         else
+           # Error occurred in the first compile.  Let's try to salvage
+           # the situation: Compile a separate program for each library.
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               $opt_dry_run || $RM conftest
+               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+                 ldd_output=`ldd conftest`
+                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                   case " $predeps $postdeps " in
+                   *" $i "*)
+                     newdeplibs="$newdeplibs $i"
+                     i=""
+                     ;;
+                   esac
+                 fi
+                 if test -n "$i" ; then
+                   libname=`eval "\\$ECHO \"$libname_spec\""`
+                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                   set dummy $deplib_matches; shift
+                   deplib_match=$1
+                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                     newdeplibs="$newdeplibs $i"
+                   else
+                     droppeddeps=yes
+                     $ECHO
+                     $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                     $ECHO "*** I have the capability to make that library automatically link in when"
+                     $ECHO "*** you link to this library.  But I can only do this if you have a"
+                     $ECHO "*** shared version of the library, which you do not appear to have"
+                     $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+                     $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+                   fi
+                 fi
+               else
+                 droppeddeps=yes
+                 $ECHO
+                 $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+                 $ECHO "*** make it link in!  You will probably need to install it or some"
+                 $ECHO "*** library that it depends on before this library will be fully"
+                 $ECHO "*** functional.  Installing it before continuing would be even better."
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         fi
+         ;;
+       file_magic*)
+         set dummy $deplibs_check_method; shift
+         file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                     # Follow soft links.
+                     if ls -lLd "$potent_lib" 2>/dev/null |
+                        $GREP " -> " >/dev/null; then
+                       continue
+                     fi
+                     # The statement above tries to avoid entering an
+                     # endless loop below, in case of cyclic links.
+                     # We might still enter an endless loop, since a link
+                     # loop can be closed while we follow links,
+                     # but so what?
+                     potlib="$potent_lib"
+                     while test -h "$potlib" 2>/dev/null; do
+                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+                       case $potliblink in
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+                       *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+                       esac
+                     done
+                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+                        $SED -e 10q |
+                        $EGREP "$file_magic_regex" > /dev/null; then
+                       newdeplibs="$newdeplibs $a_deplib"
+                       a_deplib=""
+                       break 2
+                     fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a file magic. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       match_pattern*)
+         set dummy $deplibs_check_method; shift
+         match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                   potlib="$potent_lib" # see symlink-check above in file_magic test
+                   if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+                      $EGREP "$match_pattern_regex" > /dev/null; then
+                     newdeplibs="$newdeplibs $a_deplib"
+                     a_deplib=""
+                     break 2
+                   fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a regex pattern. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       none | unknown | *)
+         newdeplibs=""
+         tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+             -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+           for i in $predeps $postdeps ; do
+             # can't use Xsed below, because $i might contain '/'
+             tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+           done
+         fi
+         if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[      ]//g' |
+            $GREP . >/dev/null; then
+           $ECHO
+           if test "X$deplibs_check_method" = "Xnone"; then
+             $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+           else
+             $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+           fi
+           $ECHO "*** All declared inter-library dependencies are being dropped."
+           droppeddeps=yes
+         fi
+         ;;
+       esac
+       versuffix=$versuffix_save
+       major=$major_save
+       release=$release_save
+       libname=$libname_save
+       name=$name_save
+
+       case $host in
+       *-*-rhapsody* | *-*-darwin1.[012])
+         # On Rhapsody replace the C library with the System framework
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+         ;;
+       esac
+
+       if test "$droppeddeps" = yes; then
+         if test "$module" = yes; then
+           $ECHO
+           $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+           $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+           $ECHO "*** a static module, that should work as long as the dlopening"
+           $ECHO "*** application is linked with the -dlopen flag."
+           if test -z "$global_symbol_pipe"; then
+             $ECHO
+             $ECHO "*** However, this would only work if libtool was able to extract symbol"
+             $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             $ECHO "*** not find such a program.  So, this module is probably useless."
+             $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+           fi
+           if test "$build_old_libs" = no; then
+             oldlibs="$output_objdir/$libname.$libext"
+             build_libtool_libs=module
+             build_old_libs=yes
+           else
+             build_libtool_libs=no
+           fi
+         else
+           $ECHO "*** The inter-library dependencies that have been dropped here will be"
+           $ECHO "*** automatically added whenever a program is linked with this library"
+           $ECHO "*** or is declared to -dlopen it."
+
+           if test "$allow_undefined" = no; then
+             $ECHO
+             $ECHO "*** Since this library must not contain undefined symbols,"
+             $ECHO "*** because either the platform does not support them or"
+             $ECHO "*** it was explicitly requested with -no-undefined,"
+             $ECHO "*** libtool will only create a static version of it."
+             if test "$build_old_libs" = no; then
+               oldlibs="$output_objdir/$libname.$libext"
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         fi
+       fi
+       # Done checking deplibs!
+       deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+       *-*-darwin*)
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      deplibs="$new_libs"
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+       if test "$hardcode_into_libs" = yes; then
+         # Hardcode the library paths
+         hardcode_libdirs=
+         dep_rpath=
+         rpath="$finalize_rpath"
+         test "$mode" != relink && rpath="$compile_rpath$rpath"
+         for libdir in $rpath; do
+           if test -n "$hardcode_libdir_flag_spec"; then
+             if test -n "$hardcode_libdir_separator"; then
+               if test -z "$hardcode_libdirs"; then
+                 hardcode_libdirs="$libdir"
+               else
+                 # Just accumulate the unique libdirs.
+                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+                   ;;
+                 *)
+                   hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+                   ;;
+                 esac
+               fi
+             else
+               eval flag=\"$hardcode_libdir_flag_spec\"
+               dep_rpath="$dep_rpath $flag"
+             fi
+           elif test -n "$runpath_var"; then
+             case "$perm_rpath " in
+             *" $libdir "*) ;;
+             *) perm_rpath="$perm_rpath $libdir" ;;
+             esac
+           fi
+         done
+         # Substitute the hardcoded libdirs into the rpath.
+         if test -n "$hardcode_libdir_separator" &&
+            test -n "$hardcode_libdirs"; then
+           libdir="$hardcode_libdirs"
+           if test -n "$hardcode_libdir_flag_spec_ld"; then
+             eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+           else
+             eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+           fi
+         fi
+         if test -n "$runpath_var" && test -n "$perm_rpath"; then
+           # We should set the runpath_var.
+           rpath=
+           for dir in $perm_rpath; do
+             rpath="$rpath$dir:"
+           done
+           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+         fi
+         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+       fi
+
+       shlibpath="$finalize_shlibpath"
+       test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+       if test -n "$shlibpath"; then
+         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+       fi
+
+       # Get the real and link names of the library.
+       eval shared_ext=\"$shrext_cmds\"
+       eval library_names=\"$library_names_spec\"
+       set dummy $library_names
+       shift
+       realname="$1"
+       shift
+
+       if test -n "$soname_spec"; then
+         eval soname=\"$soname_spec\"
+       else
+         soname="$realname"
+       fi
+       if test -z "$dlname"; then
+         dlname=$soname
+       fi
+
+       lib="$output_objdir/$realname"
+       linknames=
+       for link
+       do
+         linknames="$linknames $link"
+       done
+
+       # Use standard objects if they are pic
+       test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       test "X$libobjs" = "X " && libobjs=
+
+       delfiles=
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+         export_symbols="$output_objdir/$libname.uexp"
+         delfiles="$delfiles $export_symbols"
+       fi
+
+       orig_export_symbols=
+       case $host_os in
+       cygwin* | mingw* | cegcc*)
+         if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+           # exporting using user supplied symfile
+           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+             # and it's NOT already a .def file. Must figure out
+             # which of the given symbols are data symbols and tag
+             # them as such. So, trigger use of export_symbols_cmds.
+             # export_symbols gets reassigned inside the "prepare
+             # the list of exported symbols" if statement, so the
+             # include_expsyms logic still works.
+             orig_export_symbols="$export_symbols"
+             export_symbols=
+             always_export_symbols=yes
+           fi
+         fi
+         ;;
+       esac
+
+       # Prepare the list of exported symbols
+       if test -z "$export_symbols"; then
+         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+           func_verbose "generating symbol list for \`$libname.la'"
+           export_symbols="$output_objdir/$libname.exp"
+           $opt_dry_run || $RM $export_symbols
+           cmds=$export_symbols_cmds
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             eval cmd=\"$cmd\"
+             func_len " $cmd"
+             len=$func_len_result
+             if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+               func_show_eval "$cmd" 'exit $?'
+               skipped_export=false
+             else
+               # The command line is too long to execute in one step.
+               func_verbose "using reloadable object file for export list..."
+               skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
+             fi
+           done
+           IFS="$save_ifs"
+           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+       fi
+
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         tmp_export_symbols="$export_symbols"
+         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+         $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+       fi
+
+       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+         # The given exports_symbols file has to be filtered, so filter it.
+         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+         # FIXME: $output_objdir/$libname.filter potentially contains lots of
+         # 's' commands which not all seds can handle. GNU sed should be fine
+         # though. Also, the filter scales superlinearly with the number of
+         # global variables. join(1) would be nice here, but unfortunately
+         # isn't a blessed tool.
+         $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+         delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+         export_symbols=$output_objdir/$libname.def
+         $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+       fi
+
+       tmp_deplibs=
+       for test_deplib in $deplibs; do
+         case " $convenience " in
+         *" $test_deplib "*) ;;
+         *)
+           tmp_deplibs="$tmp_deplibs $test_deplib"
+           ;;
+         esac
+       done
+       deplibs="$tmp_deplibs"
+
+       if test -n "$convenience"; then
+         if test -n "$whole_archive_flag_spec" &&
+           test "$compiler_needs_object" = yes &&
+           test -z "$libobjs"; then
+           # extract the archives, so we have objects to list.
+           # TODO: could optimize this to just extract one archive.
+           whole_archive_flag_spec=
+         fi
+         if test -n "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         else
+           gentop="$output_objdir/${outputname}x"
+           generated="$generated $gentop"
+
+           func_extract_archives $gentop $convenience
+           libobjs="$libobjs $func_extract_archives_result"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+       fi
+
+       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+         eval flag=\"$thread_safe_flag_spec\"
+         linker_flags="$linker_flags $flag"
+       fi
+
+       # Make a backup of the uninstalled library when relinking
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+       fi
+
+       # Do each of the archive commands.
+       if test "$module" = yes && test -n "$module_cmds" ; then
+         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+           eval test_cmds=\"$module_expsym_cmds\"
+           cmds=$module_expsym_cmds
+         else
+           eval test_cmds=\"$module_cmds\"
+           cmds=$module_cmds
+         fi
+       else
+         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+           eval test_cmds=\"$archive_expsym_cmds\"
+           cmds=$archive_expsym_cmds
+         else
+           eval test_cmds=\"$archive_cmds\"
+           cmds=$archive_cmds
+         fi
+       fi
+
+       if test "X$skipped_export" != "X:" &&
+          func_len " $test_cmds" &&
+          len=$func_len_result &&
+          test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         :
+       else
+         # The command line is too long to link in one step, link piecewise
+         # or, if using GNU ld and skipped_export is not :, use a linker
+         # script.
+
+         # Save the value of $output and $libobjs because we want to
+         # use them later.  If we have whole_archive_flag_spec, we
+         # want to use save_libobjs as it was before
+         # whole_archive_flag_spec was expanded, because we can't
+         # assume the linker understands whole_archive_flag_spec.
+         # This may have to be revisited, in case too many
+         # convenience libraries get linked in and end up exceeding
+         # the spec.
+         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+         fi
+         save_output=$output
+         output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+         # Clear the reloadable object creation command queue and
+         # initialize k to one.
+         test_cmds=
+         concat_cmds=
+         objlist=
+         last_robj=
+         k=1
+
+         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+           output=${output_objdir}/${output_la}.lnkscript
+           func_verbose "creating GNU ld script: $output"
+           $ECHO 'INPUT (' > $output
+           for obj in $save_libobjs
+           do
+             $ECHO "$obj" >> $output
+           done
+           $ECHO ')' >> $output
+           delfiles="$delfiles $output"
+         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+           output=${output_objdir}/${output_la}.lnk
+           func_verbose "creating linker input file list: $output"
+           : > $output
+           set x $save_libobjs
+           shift
+           firstobj=
+           if test "$compiler_needs_object" = yes; then
+             firstobj="$1 "
+             shift
+           fi
+           for obj
+           do
+             $ECHO "$obj" >> $output
+           done
+           delfiles="$delfiles $output"
+           output=$firstobj\"$file_list_spec$output\"
+         else
+           if test -n "$save_libobjs"; then
+             func_verbose "creating reloadable object files..."
+             output=$output_objdir/$output_la-${k}.$objext
+             eval test_cmds=\"$reload_cmds\"
+             func_len " $test_cmds"
+             len0=$func_len_result
+             len=$len0
+
+             # Loop over the list of objects to be linked.
+             for obj in $save_libobjs
+             do
+               func_len " $obj"
+               func_arith $len + $func_len_result
+               len=$func_arith_result
+               if test "X$objlist" = X ||
+                  test "$len" -lt "$max_cmd_len"; then
+                 func_append objlist " $obj"
+               else
+                 # The command $test_cmds is almost too long, add a
+                 # command to the queue.
+                 if test "$k" -eq 1 ; then
+                   # The first file doesn't have a previous command to add.
+                   eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+                 else
+                   # All subsequent reloadable object files will link in
+                   # the last one created.
+                   eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+                 fi
+                 last_robj=$output_objdir/$output_la-${k}.$objext
+                 func_arith $k + 1
+                 k=$func_arith_result
+                 output=$output_objdir/$output_la-${k}.$objext
+                 objlist=$obj
+                 func_len " $last_robj"
+                 func_arith $len0 + $func_len_result
+                 len=$func_arith_result
+               fi
+             done
+             # Handle the remaining objects by creating one last
+             # reloadable object file.  All subsequent reloadable object
+             # files will link in the last one created.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+             fi
+             delfiles="$delfiles $output"
+
+           else
+             output=
+           fi
+
+           if ${skipped_export-false}; then
+             func_verbose "generating symbol list for \`$libname.la'"
+             export_symbols="$output_objdir/$libname.exp"
+             $opt_dry_run || $RM $export_symbols
+             libobjs=$output
+             # Append the command to create the export file.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+             fi
+           fi
+
+           test -n "$save_libobjs" &&
+             func_verbose "creating a temporary reloadable object file: $output"
+
+           # Loop through the commands generated above and execute them.
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $concat_cmds; do
+             IFS="$save_ifs"
+             $opt_silent || {
+                 func_quote_for_expand "$cmd"
+                 eval "func_echo $func_quote_for_expand_result"
+             }
+             $opt_dry_run || eval "$cmd" || {
+               lt_exit=$?
+
+               # Restore the uninstalled library and exit
+               if test "$mode" = relink; then
+                 ( cd "$output_objdir" && \
+                   $RM "${realname}T" && \
+                   $MV "${realname}U" "$realname" )
+               fi
+
+               exit $lt_exit
+             }
+           done
+           IFS="$save_ifs"
+
+           if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+
+          if ${skipped_export-false}; then
+           if test -n "$export_symbols" && test -n "$include_expsyms"; then
+             tmp_export_symbols="$export_symbols"
+             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+             $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+           fi
+
+           if test -n "$orig_export_symbols"; then
+             # The given exports_symbols file has to be filtered, so filter it.
+             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+             # FIXME: $output_objdir/$libname.filter potentially contains lots of
+             # 's' commands which not all seds can handle. GNU sed should be fine
+             # though. Also, the filter scales superlinearly with the number of
+             # global variables. join(1) would be nice here, but unfortunately
+             # isn't a blessed tool.
+             $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+             delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+             export_symbols=$output_objdir/$libname.def
+             $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+           fi
+         fi
+
+         libobjs=$output
+         # Restore the value of output.
+         output=$save_output
+
+         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+         # Expand the library linking commands again to reset the
+         # value of $libobjs for piecewise linking.
+
+         # Do each of the archive commands.
+         if test "$module" = yes && test -n "$module_cmds" ; then
+           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+             cmds=$module_expsym_cmds
+           else
+             cmds=$module_cmds
+           fi
+         else
+           if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+             cmds=$archive_expsym_cmds
+           else
+             cmds=$archive_cmds
+           fi
+         fi
+       fi
+
+       if test -n "$delfiles"; then
+         # Append the command to remove temporary files to $cmds.
+         eval cmds=\"\$cmds~\$RM $delfiles\"
+       fi
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         libobjs="$libobjs $func_extract_archives_result"
+         test "X$libobjs" = "X " && libobjs=
+       fi
+
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         IFS="$save_ifs"
+         eval cmd=\"$cmd\"
+         $opt_silent || {
+           func_quote_for_expand "$cmd"
+           eval "func_echo $func_quote_for_expand_result"
+         }
+         $opt_dry_run || eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             ( cd "$output_objdir" && \
+               $RM "${realname}T" && \
+               $MV "${realname}U" "$realname" )
+           fi
+
+           exit $lt_exit
+         }
+       done
+       IFS="$save_ifs"
+
+       # Restore the uninstalled library and exit
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             func_show_eval '${RM}r "$gentop"'
+           fi
+         fi
+
+         exit $EXIT_SUCCESS
+       fi
+
+       # Create links to the real library.
+       for linkname in $linknames; do
+         if test "$realname" != "$linkname"; then
+           func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+         fi
+       done
+
+       # If -module or -export-dynamic was specified, set the dlname.
+       if test "$module" = yes || test "$export_dynamic" = yes; then
+         # On all known operating systems, these are identical.
+         dlname="$soname"
+       fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for objects"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+       test -n "$objs$old_deplibs" && \
+         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+       libobj=$output
+       func_lo2o "$libobj"
+       obj=$func_lo2o_result
+       ;;
+      *)
+       libobj=
+       obj="$output"
+       ;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
+      wl=
+
+      if test -n "$convenience"; then
+       if test -n "$whole_archive_flag_spec"; then
+         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+         reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+       else
+         gentop="$output_objdir/${obj}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
+       fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       # Create an invalid libtool object if no PIC, so that we don't
+       # accidentally link it into a program.
+       # $show "echo timestamp > $libobj"
+       # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+       exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+       # Only do commands if we really have different PIC objects.
+       reload_objs="$libobjs $reload_conv_objs"
+       output="$libobj"
+       func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+       func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+       *cygwin*) func_stripname '' '.exe' "$output"
+                 output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for programs"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for programs"
+
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+       && test "$dlopen_self" = unknown \
+       && test "$dlopen_self_static" = unknown && \
+         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+       # On Rhapsody replace the C library is the System framework
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       ;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+       # Don't allow lazy linking, it breaks C++ global constructors
+       # But is supposedly fixed on 10.4 or later (yay!).
+       if test "$tagname" = CXX ; then
+         case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+           10.[0123])
+             compile_command="$compile_command ${wl}-bind_at_load"
+             finalize_command="$finalize_command ${wl}-bind_at_load"
+           ;;
+         esac
+       fi
+       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $compile_deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       for libdir in $rpath $xrpath; do
+         # This is the magic to use -rpath.
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$perm_rpath " in
+         *" $libdir "*) ;;
+         *) perm_rpath="$perm_rpath $libdir" ;;
+         esac
+       fi
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$libdir:"*) ;;
+         ::) dllsearchpath=$libdir;;
+         *) dllsearchpath="$dllsearchpath:$libdir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$finalize_perm_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+         esac
+       fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+       # Transform all the library objects into standard objects.
+       compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+       func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=yes
+      case $host in
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *cegcc)
+        # Disable wrappers for cegcc, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
+       # Replace the output file specification.
+       compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       link_command="$compile_command$compile_rpath"
+
+       # We have no uninstalled library dependencies, so finalize right now.
+       exit_status=0
+       func_show_eval "$link_command" 'exit_status=$?'
+
+       # Delete the generated files.
+       if test -f "$output_objdir/${outputname}S.${objext}"; then
+         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+       fi
+
+       exit $exit_status
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+       if test -n "$perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+       if test -n "$finalize_perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $finalize_perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+      fi
+
+      if test "$no_install" = yes; then
+       # We don't need to create a wrapper script.
+       link_command="$compile_var$compile_command$compile_rpath"
+       # Replace the output file specification.
+       link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       # Delete the old output file.
+       $opt_dry_run || $RM $output
+       # Link the executable and exit
+       func_show_eval "$link_command" 'exit $?'
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+       # Fast installation is not supported
+       link_command="$compile_var$compile_command$compile_rpath"
+       relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+       func_warning "this platform does not like uninstalled shared libraries"
+       func_warning "\`$output' will be relinked during installation"
+      else
+       if test "$fast_install" != no; then
+         link_command="$finalize_var$compile_command$finalize_rpath"
+         if test "$fast_install" = yes; then
+           relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+         else
+           # fast_install is set to needless
+           relink_command=
+         fi
+       else
+         link_command="$compile_var$compile_command$compile_rpath"
+         relink_command="$finalize_var$finalize_command$finalize_rpath"
+       fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+       # Preserve any variables that may affect compiler behavior
+       for var in $variables_saved_for_relink; do
+         if eval test -z \"\${$var+set}\"; then
+           relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+         elif eval var_value=\$$var; test -z "$var_value"; then
+           relink_command="$var=; export $var; $relink_command"
+         else
+           func_quote_for_eval "$var_value"
+           relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+         fi
+       done
+       relink_command="(cd `pwd`; $relink_command)"
+       relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+       case $progpath in
+       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+       esac
+       qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+       qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+       # win32 will think the script is a binary if it has
+       # a .exe suffix, so we strip it off here.
+       case $output in
+         *.exe) func_stripname '' '.exe' "$output"
+                output=$func_stripname_result ;;
+       esac
+       # test for cygwin because mv fails w/o .exe extensions
+       case $host in
+         *cygwin*)
+           exeext=.exe
+           func_stripname '' '.exe' "$outputname"
+           outputname=$func_stripname_result ;;
+         *) exeext= ;;
+       esac
+       case $host in
+         *cygwin* | *mingw* )
+           func_dirname_and_basename "$output" "" "."
+           output_name=$func_basename_result
+           output_path=$func_dirname_result
+           cwrappersource="$output_path/$objdir/lt-$output_name.c"
+           cwrapper="$output_path/$output_name.exe"
+           $RM $cwrappersource $cwrapper
+           trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_cwrapperexe_src > $cwrappersource
+
+           # The wrapper executable is built using the $host compiler,
+           # because it contains $host paths and files. If cross-
+           # compiling, it, like the target executable, must be
+           # executed on the $host or under an emulation environment.
+           $opt_dry_run || {
+             $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+             $STRIP $cwrapper
+           }
+
+           # Now, create the wrapper script for func_source use:
+           func_ltwrapper_scriptname $cwrapper
+           $RM $func_ltwrapper_scriptname_result
+           trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+           $opt_dry_run || {
+             # note: this script will not be executed, so do not chmod.
+             if test "x$build" = "x$host" ; then
+               $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+             else
+               func_emit_wrapper no > $func_ltwrapper_scriptname_result
+             fi
+           }
+         ;;
+         * )
+           $RM $output
+           trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_wrapper no > $output
+           chmod +x $output
+         ;;
+       esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+       oldobjs="$libobjs_save $symfileobj"
+       addlibs="$convenience"
+       build_libtool_libs=no
+      else
+       if test "$build_libtool_libs" = module; then
+         oldobjs="$libobjs_save"
+         build_libtool_libs=no
+       else
+         oldobjs="$old_deplibs $non_pic_objects"
+         if test "$preload" = yes && test -f "$symfileobj"; then
+           oldobjs="$oldobjs $symfileobj"
+         fi
+       fi
+       addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+       gentop="$output_objdir/${outputname}x"
+       generated="$generated $gentop"
+
+       func_extract_archives $gentop $addlibs
+       oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         oldobjs="$oldobjs $func_extract_archives_result"
+       fi
+
+       # POSIX demands no paths to be encoded in archives.  We have
+       # to avoid creating archives with duplicate basenames if we
+       # might have to extract them afterwards, e.g., when creating a
+       # static archive out of a convenience library, or when linking
+       # the entirety of a libtool archive into another (currently
+       # not supported by libtool).
+       if (for obj in $oldobjs
+           do
+             func_basename "$obj"
+             $ECHO "$func_basename_result"
+           done | sort | sort -uc >/dev/null 2>&1); then
+         :
+       else
+         $ECHO "copying selected object files to avoid basename conflicts..."
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+         func_mkdir_p "$gentop"
+         save_oldobjs=$oldobjs
+         oldobjs=
+         counter=1
+         for obj in $save_oldobjs
+         do
+           func_basename "$obj"
+           objbase="$func_basename_result"
+           case " $oldobjs " in
+           " ") oldobjs=$obj ;;
+           *[\ /]"$objbase "*)
+             while :; do
+               # Make sure we don't pick an alternate name that also
+               # overlaps.
+               newobj=lt$counter-$objbase
+               func_arith $counter + 1
+               counter=$func_arith_result
+               case " $oldobjs " in
+               *[\ /]"$newobj "*) ;;
+               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+               esac
+             done
+             func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$oldobjs $obj" ;;
+           esac
+         done
+       fi
+       eval cmds=\"$old_archive_cmds\"
+
+       func_len " $cmds"
+       len=$func_len_result
+       if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         cmds=$old_archive_cmds
+       else
+         # the command line is too long to link in one step, link in parts
+         func_verbose "using piecewise archive linking..."
+         save_RANLIB=$RANLIB
+         RANLIB=:
+         objlist=
+         concat_cmds=
+         save_oldobjs=$oldobjs
+         oldobjs=
+         # Is there a better way of finding the last object in the list?
+         for obj in $save_oldobjs
+         do
+           last_oldobj=$obj
+         done
+         eval test_cmds=\"$old_archive_cmds\"
+         func_len " $test_cmds"
+         len0=$func_len_result
+         len=$len0
+         for obj in $save_oldobjs
+         do
+           func_len " $obj"
+           func_arith $len + $func_len_result
+           len=$func_arith_result
+           func_append objlist " $obj"
+           if test "$len" -lt "$max_cmd_len"; then
+             :
+           else
+             # the above command should be used before it gets too long
+             oldobjs=$objlist
+             if test "$obj" = "$last_oldobj" ; then
+               RANLIB=$save_RANLIB
+             fi
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+             objlist=
+             len=$len0
+           fi
+         done
+         RANLIB=$save_RANLIB
+         oldobjs=$objlist
+         if test "X$oldobjs" = "X" ; then
+           eval cmds=\"\$concat_cmds\"
+         else
+           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+         fi
+       fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+       if eval test -z \"\${$var+set}\"; then
+         relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+       elif eval var_value=\$$var; test -z "$var_value"; then
+         relink_command="$var=; export $var; $relink_command"
+       else
+         func_quote_for_eval "$var_value"
+         relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+       fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+       relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+       for installed in no yes; do
+         if test "$installed" = yes; then
+           if test -z "$install_libdir"; then
+             break
+           fi
+           output="$output_objdir/$outputname"i
+           # Replace all uninstalled libtool libraries with the installed ones
+           newdependency_libs=
+           for deplib in $dependency_libs; do
+             case $deplib in
+             *.la)
+               func_basename "$deplib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$deplib' is not a valid libtool archive"
+               newdependency_libs="$newdependency_libs $libdir/$name"
+               ;;
+             *) newdependency_libs="$newdependency_libs $deplib" ;;
+             esac
+           done
+           dependency_libs="$newdependency_libs"
+           newdlfiles=
+
+           for lib in $dlfiles; do
+             case $lib in
+             *.la)
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlfiles="$newdlfiles $libdir/$name"
+               ;;
+             *) newdlfiles="$newdlfiles $lib" ;;
+             esac
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+             *.la)
+               # Only pass preopened files to the pseudo-archive (for
+               # eventual linking with the app. that links it) if we
+               # didn't already link the preopened objects directly into
+               # the library:
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlprefiles="$newdlprefiles $libdir/$name"
+               ;;
+             esac
+           done
+           dlprefiles="$newdlprefiles"
+         else
+           newdlfiles=
+           for lib in $dlfiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlfiles="$newdlfiles $abs"
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlprefiles="$newdlprefiles $abs"
+           done
+           dlprefiles="$newdlprefiles"
+         fi
+         $RM $output
+         # place dlname in correct position for cygwin
+         tdlname=$dlname
+         case $host,$output,$installed,$module,$dlname in
+           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+         esac
+         $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+         if test "$installed" = no && test "$need_relink" = yes; then
+           $ECHO >> $output "\
+relink_command=\"$relink_command\""
+         fi
+       done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+    func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+       objdir="$origobjdir"
+      else
+       objdir="$dir/$origobjdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+       case " $rmdirs " in
+         *" $objdir "*) ;;
+         *) rmdirs="$rmdirs $objdir" ;;
+       esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+        { test -h "$file"; } >/dev/null 2>&1 ||
+        test -f "$file"; then
+       :
+      elif test -d "$file"; then
+       exit_status=1
+       continue
+      elif test "$rmforce" = yes; then
+       continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+       # Possibly a libtool archive, so verify it.
+       if func_lalib_p "$file"; then
+         func_source $dir/$name
+
+         # Delete the libtool libraries and symlinks.
+         for n in $library_names; do
+           rmfiles="$rmfiles $objdir/$n"
+         done
+         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+           test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+           ;;
+         uninstall)
+           if test -n "$library_names"; then
+             # Do each command in the postuninstall commands.
+             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+
+           if test -n "$old_library"; then
+             # Do each command in the old_postuninstall commands.
+             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+           # FIXME: should reinstall the best remaining shared library.
+           ;;
+         esac
+       fi
+       ;;
+
+      *.lo)
+       # Possibly a libtool object, so verify it.
+       if func_lalib_p "$file"; then
+
+         # Read the .lo file
+         func_source $dir/$name
+
+         # Add PIC object to the list of files to remove.
+         if test -n "$pic_object" &&
+            test "$pic_object" != none; then
+           rmfiles="$rmfiles $dir/$pic_object"
+         fi
+
+         # Add non-PIC object to the list of files to remove.
+         if test -n "$non_pic_object" &&
+            test "$non_pic_object" != none; then
+           rmfiles="$rmfiles $dir/$non_pic_object"
+         fi
+       fi
+       ;;
+
+      *)
+       if test "$mode" = clean ; then
+         noexename=$name
+         case $file in
+         *.exe)
+           func_stripname '' '.exe' "$file"
+           file=$func_stripname_result
+           func_stripname '' '.exe' "$name"
+           noexename=$func_stripname_result
+           # $file with .exe has already been added to rmfiles,
+           # add $file without .exe
+           rmfiles="$rmfiles $file"
+           ;;
+         esac
+         # Do a test to see if this is a libtool program.
+         if func_ltwrapper_p "$file"; then
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             relink_command=
+             func_source $func_ltwrapper_scriptname_result
+             rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+           else
+             relink_command=
+             func_source $dir/$noexename
+           fi
+
+           # note $name still contains .exe if it was in $file originally
+           # as does the version of $file that was added into $rmfiles
+           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+           if test "$fast_install" = yes && test -n "$relink_command"; then
+             rmfiles="$rmfiles $objdir/lt-$name"
+           fi
+           if test "X$noexename" != "X$name" ; then
+             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+           fi
+         fi
+       fi
+       ;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+       func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/autoconf/missing b/autoconf/missing
new file mode 100755 (executable)
index 0000000..894e786
--- /dev/null
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+          sed 's/\.am$/.in/' |
+          while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo "#! /bin/sh"
+       echo "# Created by GNU Automake missing as a replacement of"
+       echo "#  $ $@"
+       echo "exit 0"
+       chmod +x $file
+       exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+       case "$LASTARG" in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if [ ! -f y.tab.h ]; then
+       echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+       echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+       case "$LASTARG" in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if [ -f "$SRCFILE" ]; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+       echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+        you modified a dependency of a manual page.  You may need the
+        \`Help2man' package in order for those modifications to take
+        effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+       file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo ".ab help2man is required to generate this page"
+       exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+       case "$firstarg" in
+       *o*)
+           firstarg=`echo "$firstarg" | sed s/o//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+       case "$firstarg" in
+       *h*)
+           firstarg=`echo "$firstarg" | sed s/h//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/autoconf/mkinstalldirs b/autoconf/mkinstalldirs
new file mode 100755 (executable)
index 0000000..d2d5f21
--- /dev/null
@@ -0,0 +1,111 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage" 1>&2
+      exit 0
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
+done
+
+for file
+do
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
+
+case $# in
+  0) exit 0 ;;
+esac
+
+case $dirmode in
+  '')
+    if mkdir -p -- . 2>/dev/null; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    fi
+    ;;
+esac
+
+for file
+do
+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  shift
+
+  pathcomp=
+  for d
+  do
+    pathcomp="$pathcomp$d"
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
+
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+       errstatus=$lasterr
+      else
+       if test ! -z "$dirmode"; then
+         echo "chmod $dirmode $pathcomp"
+         lasterr=""
+         chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+         if test ! -z "$lasterr"; then
+           errstatus=$lasterr
+         fi
+       fi
+      fi
+    fi
+
+    pathcomp="$pathcomp/"
+  done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# End:
+# mkinstalldirs ends here
diff --git a/autoconf/texinfo.tex b/autoconf/texinfo.tex
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..58dc490
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+libtoolize -c --force
+aclocal
+automake -a -c --foreign
+autoconf
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..60aba00
--- /dev/null
+++ b/configure
@@ -0,0 +1,13529 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+        /*)
+          for as_base in sh bash ksh sh5; do
+            # Try only shells that exist, to save several forks.
+            as_shell=$as_dir/$as_base
+            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+          done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+       # neutralization value for shells without unset; and this also
+       # works around shells that cannot unset nonexistent variables.
+       BASH_ENV=/dev/null
+       ENV=/dev/null
+       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+$*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "$0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+PACKAGE_URL=
+
+ac_unique_file="source/cloog.c"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+BITS
+INSTALL
+SHEXT
+target
+PPL_LIBS
+PPL_LDFLAGS
+PPL_CPPFLAGS
+POLYHEDRAL_BACKEND
+GIT_INDEX
+POLYLIB_LIBS
+POLYLIB_LDFLAGS
+POLYLIB_CPPFLAGS
+cl_cv_polylib
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+OBJDUMP
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+CD
+LN_S
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+CLOOG_VERSION_BETA
+CLOOG_VERSION_REVISION
+CLOOG_VERSION_MINOR
+CLOOG_VERSION_MAJOR
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_ppl
+with_polylib_prefix
+with_polylib_exec_prefix
+with_polylib_builddir
+with_bits
+with_gmp
+with_gmp_include
+with_gmp_library
+with_host_libstdcxx
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)   ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information."
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_myself" : 'X\(//\)[^/]' \| \
+        X"$as_myself" : 'X\(//\)$' \| \
+        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-ppl=DIR          Prefix of Parma Polyhedral Library installation
+  --with-polylib-prefix=DIR
+                          Prefix of PolyLib installation
+  --with-polylib-exec-prefix=DIR
+                          Exec prefix of PolyLib installation
+  --with-polylib-builddir=DIR
+                          Location of PolyLib builddir
+  --with-bits=32|64|gmp   PolyLib library type to use
+  --with-gmp=DIR          DIR where the gmp package is installed
+  --with-gmp-include=DIR  DIR where gmp.h is installed
+  --with-gmp-library=DIR  DIR where the gmp library is installed
+  --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
+                          when linking with PPL
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.65
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=no"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+        return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+           return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+       ac_must_keep_next=false # Got value, back to normal.
+      else
+       case $ac_arg in
+         *=* | --config-cache | -C | -disable-* | --disable-* \
+         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+         | -with-* | --with-* | -without-* | --without-* | --x)
+           case "$ac_configure_args0 " in
+             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+           esac
+           ;;
+         -* ) ac_must_keep_next=true ;;
+       esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       $as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_aux_dir=
+for ac_dir in autoconf "$srcdir"/autoconf; do
+  for ac_t in install-sh install.sh shtool; do
+    if test -f "$ac_dir/$ac_t"; then
+      ac_aux_dir=$ac_dir
+      ac_install_sh="$ac_aux_dir/$ac_t -c"
+      break 2
+    fi
+  done
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error "cannot find install-sh, install.sh, or shtool in autoconf \"$srcdir\"/autoconf" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           rm -rf conftest.one conftest.two conftest.dir
+           echo one > conftest.one
+           echo two > conftest.two
+           mkdir conftest.dir
+           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+             test -s conftest.one && test -s conftest.two &&
+             test -s conftest.dir/conftest.one &&
+             test -s conftest.dir/conftest.two
+           then
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
+         fi
+       fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=cloog
+ VERSION=0.15
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+ac_config_headers="$ac_config_headers include/cloog/cloog-config.h"
+
+
+BITS="64"
+
+
+
+# Version number machinery.
+if test -n "`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`"
+then
+  CLOOG_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`
+  CLOOG_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'`
+  CLOOG_VERSION_REVISION=`expr $VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+  CLOOG_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*\.[0-9]*pre\([0-9]*\)'`
+else
+  CLOOG_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*'`
+  CLOOG_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)'`
+  CLOOG_VERSION_REVISION=0
+  CLOOG_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*pre\([0-9]*\)'`
+fi
+if test -z "$CLOOG_VERSION_BETA"
+then
+  CLOOG_VERSION_BETA=0
+fi
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+       ;;
+    [ab].out )
+       # We found the default executable, but exeext='' is most
+       # certainly right.
+       break;;
+    *.* )
+       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       then :; else
+          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+       fi
+       # We set ac_cv_exeext here because the later test for it is not
+       # safe: cross compilers may not add the suffix if given an `-o'
+       # argument, so we may need to know it at that point already.
+       # Even if this section looks crufty: it has the advantage of
+       # actually working.
+       break;;
+    * )
+       break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "C compiler cannot create executables
+See \`config.log' for more details." "$LINENO" 5; }; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+         break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+       cross_compiling=yes
+    else
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+       @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+
+
+if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+
+
+if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+# Extract the first word of "cd", so it can be a program name with args.
+set dummy cd; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CD"; then
+  ac_cv_prog_CD="$CD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CD=""
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CD=$ac_cv_prog_CD
+if test -n "$CD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CD" >&5
+$as_echo "$CD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+case `pwd` in
+  *\ * | *\    *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6'
+macro_revision='1.3012'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:4593: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:4596: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:4599: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+             test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+         cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_save_CFLAGS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE="32"
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE="64"
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 5794 "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_i386"
+           ;;
+         ppc64-*linux*|powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
+       fi
+       ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+       # By default we will add the -single_module flag. You can override
+       # by either setting the environment variable LT_MULTI_MODULE
+       # non-empty at configure time, or by adding -multi_module to the
+       # link flags.
+       rm -rf libconftest.dylib*
+       echo "int foo(void){return 1;}" > conftest.c
+       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+         lt_cv_apple_cc_single_mod=yes
+       else
+         cat conftest.err >&5
+       fi
+       rm -rf libconftest.dylib*
+       rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+       LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.[012]*)
+         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+       10.*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+  enable_win32_dll=no
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; pic_mode="$withval"
+else
+  pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7324: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:7328: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='-fPIC'
+       ;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      else
+       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-KPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='--shared'
+       lt_prog_compiler_static='--static'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fpic'
+       lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-qpic'
+       lt_prog_compiler_static='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)
+         # Sun C 5.9
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       *Sun\ F*)
+         # Sun Fortran 8.3 passes all unrecognized flags to the linker
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl=''
+         ;;
+       esac
+       ;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+       lt_prog_compiler_pic='-Kconform_pic'
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7663: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:7667: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7768: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:7772: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:7823: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:7827: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       allow_undefined_flag=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file (1st line
+       # is EXPORTS), use it as is; otherwise, prepend...
+       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname.def;
+       else
+         echo EXPORTS > $output_objdir/$soname.def;
+         cat $export_symbols >> $output_objdir/$soname.def;
+       fi~
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+       case $cc_basename in
+         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
+       esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+        && test "$tmp_diet" = no
+      then
+       tmp_addflag=
+       tmp_sharedflag='-shared'
+       case $cc_basename,$host_cpu in
+        pgcc*)                         # Portland Group C compiler
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         whole_archive_flag_spec=
+         tmp_sharedflag='--shared' ;;
+       xl[cC]*)                        # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       esac
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)                       # Sun C 5.9
+         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         compiler_needs_object=yes
+         tmp_sharedflag='-G' ;;
+       *Sun\ F*)                       # Sun Fortran 8.3
+         tmp_sharedflag='-G' ;;
+       esac
+       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+           echo "local: *; };" >> $output_objdir/$libname.ver~
+           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+       case $cc_basename in
+       xlf*)
+         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+         hardcode_libdir_flag_spec=
+         hardcode_libdir_flag_spec_ld='-rpath $libdir'
+         archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+         if test "x$supports_anon_versioning" = xyes; then
+           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+             echo "local: *; };" >> $output_objdir/$libname.ver~
+             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+         fi
+         ;;
+       esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         # For security reasons, it is highly recommended that you always
+         # use absolute paths for naming shared libraries, and exclude the
+         # DT_RUNPATH tag from executables and libraries.  But doing so
+         # requires that you compile everything twice, which is a pain.
+         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         else
+           ld_shlibs=no
+         fi
+       ;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=""
+      else
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to AIX nm, but means don't demangle with GNU nm
+       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       else
+         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
+
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+         for ld_flag in $LDFLAGS; do
+         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
+
+      if test "$GCC" = yes; then
+       case $host_os in aix4.[012]|aix4.[012].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         :
+         else
+         # We have old collect2
+         hardcode_direct=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         hardcode_minus_L=yes
+         hardcode_libdir_flag_spec='-L$libdir'
+         hardcode_libdir_separator=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
+       link_all_deplibs=no
+      else
+       # not using gcc
+       if test "$host_cpu" = ia64; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag='${wl}-G'
+         else
+           shared_flag='${wl}-bM:SRE'
+         fi
+       fi
+      fi
+
+      export_dynamic_flag_spec='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+       if test "$host_cpu" = ia64; then
+         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+         allow_undefined_flag="-z nodefs"
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         no_undefined_flag=' ${wl}-bernotok'
+         allow_undefined_flag=' ${wl}-berok'
+         # Exported symbols can be pulled into shared objects from archives
+         whole_archive_flag_spec='$convenience'
+         archive_cmds_need_lc=yes
+         # This is similar to how AIX traditionally builds its shared libraries.
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_from_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  whole_archive_flag_spec=''
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+       archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_flag_spec_ld='+b $libdir'
+       hardcode_libdir_separator=:
+       hardcode_direct=yes
+       hardcode_direct_absolute=yes
+       export_dynamic_flag_spec='${wl}-E'
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
+         hardcode_direct=no
+         hardcode_shlibpath_var=no
+         ;;
+       *)
+         hardcode_direct=yes
+         hardcode_direct_absolute=yes
+         export_dynamic_flag_spec='${wl}-E'
+
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         hardcode_minus_L=yes
+         ;;
+       esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+       hardcode_direct=yes
+       hardcode_shlibpath_var=no
+       hardcode_direct_absolute=yes
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+         export_dynamic_flag_spec='${wl}-E'
+       else
+         case $host_os in
+          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+            hardcode_libdir_flag_spec='-R$libdir'
+            ;;
+          *)
+            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+            ;;
+         esac
+       fi
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+       # Both c and cxx compiler support -rpath directly
+       hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test "$GCC" = yes; then
+       wlarc='${wl}'
+       archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+       case `$CC -V 2>&1` in
+       *"Compilers 5.0"*)
+         wlarc=''
+         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+         ;;
+       *)
+         wlarc='${wl}'
+         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+         ;;
+       esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+       # The compiler driver will combine and reorder linker options,
+       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but is careful enough not to reorder.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       if test "$GCC" = yes; then
+         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       else
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+       fi
+       ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+       sni)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         reload_cmds='$CC -r -o $output$reload_objs'
+         hardcode_direct=no
+        ;;
+       motorola)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       hardcode_shlibpath_var=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+       export_dynamic_flag_spec='${wl}-Blargedynsym'
+       ;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+       pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        then
+         archive_cmds_need_lc=no
+        else
+         archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[3-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 10203 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 10299 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = x""yes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+
+for ac_func in strtol
+do :
+  ac_fn_c_check_func "$LINENO" "strtol" "ac_cv_func_strtol"
+if test "x$ac_cv_func_strtol" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_STRTOL 1
+_ACEOF
+
+fi
+done
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "sys/resource.h" "ac_cv_header_sys_resource_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_resource_h" = x""yes; then :
+
+$as_echo "#define HAS_SYS_RESOURCE_H 1" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+gmp_package="yes"
+gmp_include_package="yes"
+gmp_library_package="yes"
+
+MP_BITS="MP"
+
+$as_echo "#define LINEAR_VALUE_IS_MP 1" >>confdefs.h
+
+NEED_MP="no"
+
+
+# Check whether --with-ppl was given.
+if test "${with_ppl+set}" = set; then :
+  withval=$with_ppl;
+fi
+
+
+
+# Check whether --with-polylib_prefix was given.
+if test "${with_polylib_prefix+set}" = set; then :
+  withval=$with_polylib_prefix;
+fi
+
+
+# Check whether --with-polylib_exec_prefix was given.
+if test "${with_polylib_exec_prefix+set}" = set; then :
+  withval=$with_polylib_exec_prefix;
+fi
+
+
+# Check whether --with-polylib_builddir was given.
+if test "${with_polylib_builddir+set}" = set; then :
+  withval=$with_polylib_builddir;
+fi
+
+
+# Check whether --with-bits was given.
+if test "${with_bits+set}" = set; then :
+  withval=$with_bits;  echo "polylib$withval"; BITS=$withval
+fi
+
+
+
+# Check whether --with-gmp was given.
+if test "${with_gmp+set}" = set; then :
+  withval=$with_gmp;  echo "Package gmp : $withval" &&
+         gmp_package=$withval &&
+          GMP_INC=$gmp_package/include &&
+          GMP_LIB=$gmp_package/lib &&
+          NEED_MP="yes"
+fi
+
+
+
+# Check whether --with-gmp-include was given.
+if test "${with_gmp_include+set}" = set; then :
+  withval=$with_gmp_include;  echo "Package gmp-include : $withval" &&
+         gmp_include_package=$withval &&
+          GMP_INC=$gmp_include_package &&
+         NEED_MP="yes"
+fi
+
+
+
+# Check whether --with-gmp-library was given.
+if test "${with_gmp_library+set}" = set; then :
+  withval=$with_gmp_library;  echo "Package gmp-library : $withval" &&
+         gmp_library_package=$withval &&
+          GMP_LIB=$gmp_library_package &&
+         NEED_MP="yes"
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gmp works" >&5
+$as_echo_n "checking whether gmp works... " >&6; }
+if test "$gmp_package" = "no"; then
+  echo "GMP package not defined"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  TO_BUILD_MP=""
+else
+  if test "$NEED_MP" = "no"; then
+    echo "Mode normal GMP"
+    TO_BUILD="$TO_BUILD MP"
+    ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default"
+if test "x$ac_cv_header_gmp_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5
+$as_echo_n "checking for __gmpz_init in -lgmp... " >&6; }
+if test "${ac_cv_lib_gmp___gmpz_init+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgmp  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char __gmpz_init ();
+int
+main ()
+{
+return __gmpz_init ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_gmp___gmpz_init=yes
+else
+  ac_cv_lib_gmp___gmpz_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5
+$as_echo "$ac_cv_lib_gmp___gmpz_init" >&6; }
+if test "x$ac_cv_lib_gmp___gmpz_init" = x""yes; then :
+  LIBS="$LIBS -lgmp"
+else
+  echo "Can't find gmp library." &&
+                                  echo "MP version will not be builded." &&
+                                  TO_BUILD_MP=""
+fi
+
+else
+  echo "Can't find gmp headers." &&
+                    echo "MP version will not be builded." &&
+                    TO_BUILD_MP=""
+fi
+
+
+  else
+
+    if test "$gmp_package" != "yes" ; then
+      echo "(GMP path has been set by user)"
+      GMP_DIR=$gmp_package
+            CPPFLAGS="-I$GMP_DIR/include $CPPFLAGS"
+      LDFLAGS="-L$GMP_DIR/lib $LDFLAGS"
+    fi
+
+    if test "$gmp_include_package" != "yes" ; then
+      CPPFLAGS="-I$GMP_INC $CPPFLAGS"
+    fi
+
+    if test "$gmp_library_package" != "yes" ; then
+      LDFLAGS="-L$GMP_LIB $LDFLAGS"
+    fi
+
+    ac_fn_c_check_header_mongrel "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default"
+if test "x$ac_cv_header_gmp_h" = x""yes; then :
+
+else
+  as_fn_error "Can't find gmp headers." "$LINENO" 5
+fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5
+$as_echo_n "checking for __gmpz_init in -lgmp... " >&6; }
+if test "${ac_cv_lib_gmp___gmpz_init+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgmp  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char __gmpz_init ();
+int
+main ()
+{
+return __gmpz_init ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_gmp___gmpz_init=yes
+else
+  ac_cv_lib_gmp___gmpz_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5
+$as_echo "$ac_cv_lib_gmp___gmpz_init" >&6; }
+if test "x$ac_cv_lib_gmp___gmpz_init" = x""yes; then :
+  LIBS="$LIBS -lgmp"
+else
+  as_fn_error "Can't find gmp library." "$LINENO" 5
+fi
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  fi
+fi
+
+
+polylibs="64 32"
+case "$BITS" in
+    32|64|gmp)
+       polylibs=$BITS
+    ;;
+esac
+
+
+
+
+
+
+if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_exec_prefix" = "x"
+then
+       with_polylib_exec_prefix=$with_polylib_prefix
+fi
+if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_builddir" != "x"; then
+       as_fn_error "--with-polylib-prefix and --with-polylib-builddir are mutually exclusive" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of PolyLib" >&5
+$as_echo_n "checking for location of PolyLib... " >&6; }
+if test "x$with_polylib_builddir" != "x"; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: built in $with_polylib_builddir" >&5
+$as_echo "built in $with_polylib_builddir" >&6; }
+       polylib_srcdir=`echo @srcdir@ | $with_polylib_builddir/config.status --file=-`
+       { $as_echo "$as_me:${as_lineno-$LINENO}: PolyLib sources in $polylib_srcdir" >&5
+$as_echo "$as_me: PolyLib sources in $polylib_srcdir" >&6;}
+       polylib_polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
+       { $as_echo "$as_me:${as_lineno-$LINENO}: Configured polylibs: $polylib_polylibs" >&5
+$as_echo "$as_me: Configured polylibs: $polylib_polylibs" >&6;}
+       CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include $CPPFLAGS"
+       for BITS in $polylibs; do
+               cl_cv_polylib=missing
+               for PL in $polylib_polylibs; do
+                       if test "libpolylib$BITS.la" = $PL; then
+                               cl_cv_polylib="polylib$BITS"
+                               break;
+                       fi
+               done
+               if test "$cl_cv_polylib" != "missing"; then
+                       LIBS="$with_polylib_builddir/lib$cl_cv_polylib.la $LIBS"
+                       break;
+               fi
+       done
+else
+       if test "x$with_polylib_prefix" != "x"; then
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: installed in $with_polylib_exec_prefix" >&5
+$as_echo "installed in $with_polylib_exec_prefix" >&6; }
+               CPPFLAGS="-I$with_polylib_prefix/include $CPPFLAGS"
+               LDFLAGS="-L$with_polylib_exec_prefix/lib $LDFLAGS"
+               LD_LIBRARY_PATH="$with_polylib_exec_prefix/lib:$LD_LIBRARY_PATH"
+               export LD_LIBRARY_PATH
+       else
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: installed in standard location" >&5
+$as_echo "installed in standard location" >&6; }
+       fi
+       for BITS in $polylibs; do
+               cl_cv_polylib="polylib$BITS"
+               as_ac_Lib=`$as_echo "ac_cv_lib_$cl_cv_polylib''_PolyhedronTSort" | $as_tr_sh`
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PolyhedronTSort in -l$cl_cv_polylib" >&5
+$as_echo_n "checking for PolyhedronTSort in -l$cl_cv_polylib... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-l$cl_cv_polylib  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char PolyhedronTSort ();
+int
+main ()
+{
+return PolyhedronTSort ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$as_ac_Lib=yes"
+else
+  eval "$as_ac_Lib=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+eval ac_res=\$$as_ac_Lib
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+eval as_val=\$$as_ac_Lib
+   if test "x$as_val" = x""yes; then :
+
+                       LIBS="-l$cl_cv_polylib $LIBS"
+                       break
+
+fi
+
+               cl_cv_polylib=missing
+       done
+fi
+if test "$cl_cv_polylib" = "missing"; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: Can't find PolyLib." >&5
+$as_echo "Can't find PolyLib." >&6; }
+else
+       as_ac_Header=`$as_echo "ac_cv_header_polylib/$cl_cv_polylib.h" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "polylib/$cl_cv_polylib.h" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+
+else
+  as_fn_error "Can't find PolyLib headers." "$LINENO" 5
+fi
+
+
+fi
+
+
+if test -f $srcdir/.git/HEAD; then
+       GIT_INDEX="\$(top_srcdir)/.git/index"
+fi
+
+
+
+# The default back-end for polyhedral operations is PolyLib, unless
+# -with-ppl is used.
+
+POLYHEDRAL_BACKEND=polylib
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Parma Polyhedral Library (PPL)" >&5
+$as_echo_n "checking for Parma Polyhedral Library (PPL)... " >&6; }
+if test "x$with_ppl" != "x" -a "x$with_ppl" != "xno"; then
+
+       if test "x$with_polylib_prefix" != "x" -o "x$with_polylib_exec_prefix" != "x" -o "x$with_polylib_builddir" != "x"; then
+               as_fn_error "--with-polylib and --with-ppl are mutually exclusive" "$LINENO" 5
+       fi
+
+       if test "x$with_ppl" != "xyes" ; then
+           ppl_prefix=$with_ppl
+           { $as_echo "$as_me:${as_lineno-$LINENO}: result: installed in $ppl_prefix" >&5
+$as_echo "installed in $ppl_prefix" >&6; }
+           CPPFLAGS="-I$ppl_prefix/include $CPPFLAGS"
+           LDFLAGS="-L$ppl_prefix/lib $LDFLAGS"
+           LD_LIBRARY_PATH="$ppl_prefix/lib:$LD_LIBRARY_PATH"
+           export LD_LIBRARY_PATH
+       else
+           { $as_echo "$as_me:${as_lineno-$LINENO}: result: installed at system prefix" >&5
+$as_echo "installed at system prefix" >&6; }
+       fi
+       POLYHEDRAL_BACKEND=ppl
+
+       ac_fn_c_check_header_mongrel "$LINENO" "ppl_c.h" "ac_cv_header_ppl_c_h" "$ac_includes_default"
+if test "x$ac_cv_header_ppl_c_h" = x""yes; then :
+
+else
+  as_fn_error "Can't find PPL headers." "$LINENO" 5
+fi
+
+
+
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.10 (or later revision) of PPL" >&5
+$as_echo_n "checking for version 0.10 (or later revision) of PPL... " >&6; }
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include "ppl_c.h"
+int
+main ()
+{
+
+       #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+       choke me
+       #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  as_fn_error "Can't find correct version of PPL." "$LINENO" 5
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+       LIBS="$LIBS -lppl_c -lppl -lgmpxx"
+
+$as_echo "#define CLOOG_PPL_BACKEND 1" >>confdefs.h
+
+
+else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: not using PPL" >&5
+$as_echo "not using PPL" >&6; }
+fi
+
+# Allow host libstdc++ to be specified for static linking with PPL.
+
+# Check whether --with-host-libstdcxx was given.
+if test "${with_host_libstdcxx+set}" = set; then :
+  withval=$with_host_libstdcxx;
+fi
+
+
+case $with_host_libstdcxx in
+  no|yes) as_fn_error "-with-host-libstdcxx needs an argument" "$LINENO" 5 ;;
+  *) LIBS="$LIBS $with_host_libstdcxx" ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile test/Makefile include/cloog/cloog.h autoconf/Doxyfile"
+
+ac_config_files="$ac_config_files doc/Makefile"
+
+ac_config_files="$ac_config_files genversion.sh"
+
+ac_config_commands="$ac_config_commands version.h"
+
+ac_config_commands="$ac_config_commands doc/gitversion.texi"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+       "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.65,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+  ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "include/cloog/cloog-config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/cloog/cloog-config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "include/cloog/cloog.h") CONFIG_FILES="$CONFIG_FILES include/cloog/cloog.h" ;;
+    "autoconf/Doxyfile") CONFIG_FILES="$CONFIG_FILES autoconf/Doxyfile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "genversion.sh") CONFIG_FILES="$CONFIG_FILES genversion.sh" ;;
+    "version.h") CONFIG_COMMANDS="$CONFIG_COMMANDS version.h" ;;
+    "doc/gitversion.texi") CONFIG_COMMANDS="$CONFIG_COMMANDS doc/gitversion.texi" ;;
+
+  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[    ]*#[    ]*define[       ][      ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || as_fn_error "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    "$ac_file" | "$ac_file":* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for "$ac_file"" >`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$mf" : 'X\(//\)[^/]' \| \
+        X"$mf" : 'X\(//\)$' \| \
+        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$file" : 'X\(//\)[^/]' \| \
+        X"$file" : 'X\(//\)$' \| \
+        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+    as_dir=$dirpart/$fdir; as_fn_mkdir_p
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=""
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+ ;;
+    "genversion.sh":F) chmod +x genversion.sh ;;
+    "version.h":C) echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h ;;
+    "doc/gitversion.texi":C) echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit $?
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+
+echo "             /*-----------------------------------------------*"
+echo "              *           CLooG configuration is OK           *"
+echo "              *-----------------------------------------------*/"
+echo "It appears that your system is OK to start CLooG compilation. You need"
+echo "now to type \"make\". After compilation, you should check CLooG by typing"
+echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
+echo "you are upgrading an old version. Lastly type \"make install\" to install"
+echo "CLooG on your system (log as root if necessary)."
diff --git a/configure.in b/configure.in
new file mode 100644 (file)
index 0000000..fddc19f
--- /dev/null
@@ -0,0 +1,397 @@
+
+dnl /**-------------------------------------------------------------------**
+dnl  **                              CLooG                                **
+dnl  **-------------------------------------------------------------------**
+dnl  **                           configure.in                            **
+dnl  **-------------------------------------------------------------------**
+dnl  **                   First version: august 7th 2002                  **
+dnl  **-------------------------------------------------------------------**/
+dnl
+dnl Input file for autoconf to build a configuration shellscript.
+dnl To build the configure script from the CLooG's top-level directory, use
+dnl autoconf -l autoconf autoconf/configure.in > configure
+dnl if it doesn't work (invalid option -l) try -I instead
+dnl autoconf -I autoconf autoconf/configure.in > configure
+
+dnl /**************************************************************************
+dnl *               CLooG : the Chunky Loop Generator (experimental)          *
+dnl ***************************************************************************
+dnl *                                                                         *
+dnl * Copyright (C) 2001 Cedric Bastoul                                       *
+dnl *                                                                         *
+dnl * This is free software; you can redistribute it and/or modify it under   *
+dnl * the terms of the GNU General Public License as published by the Free    *
+dnl * Software Foundation; either version 2 of the License, or (at your       *
+dnl * option) any later version.                                              *
+dnl *                                                                         *
+dnl * This software is distributed in the hope that it will be useful, but    *
+dnl * WITHOUT ANY WARRANTY; without even the implied warranty of              *
+dnl * MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        *
+dnl * General Public License for more details.                                *
+dnl *                                                                         *
+dnl * You should have received a copy of the GNU General Public License along *
+dnl * with software; if not, write to the Free Software Foundation, Inc.,     *
+dnl * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                  *
+dnl *                                                                         *
+dnl * CLooG, the Chunky Loop Generator                                        *
+dnl * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                      *
+dnl *                                                                         *
+dnl ***************************************************************************/
+
+AC_PREREQ(2.13)
+AC_INIT(source/cloog.c)
+AC_CONFIG_AUX_DIR(autoconf)
+
+dnl Every other copy of the package version number gets its value from here.
+AM_INIT_AUTOMAKE(cloog, 0.15)
+AC_CONFIG_HEADER(include/cloog/cloog-config.h)
+
+dnl default version
+BITS="64"
+
+AC_SUBST(VERSION)
+
+# Version number machinery.
+changequote(<<, >>)dnl
+if test -n "`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`"
+then
+  CLOOG_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*\.[0-9]*'`
+  CLOOG_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)\.[0-9]*'`
+  CLOOG_VERSION_REVISION=`expr $VERSION : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
+  CLOOG_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*\.[0-9]*pre\([0-9]*\)'`
+else
+  CLOOG_VERSION_MAJOR=`expr $VERSION : '\([0-9]*\)\.[0-9]*'`
+  CLOOG_VERSION_MINOR=`expr $VERSION : '[0-9]*\.\([0-9]*\)'`
+  CLOOG_VERSION_REVISION=0
+  CLOOG_VERSION_BETA=`expr $VERSION : '[0-9]*\.[0-9]*pre\([0-9]*\)'`
+fi
+if test -z "$CLOOG_VERSION_BETA"
+then
+  CLOOG_VERSION_BETA=0
+fi
+changequote([, ])dnl
+AC_SUBST(CLOOG_VERSION_MAJOR)
+AC_SUBST(CLOOG_VERSION_MINOR)
+AC_SUBST(CLOOG_VERSION_REVISION)
+AC_SUBST(CLOOG_VERSION_BETA)
+
+
+dnl /**************************************************************************
+dnl  *                              Checking                                  *
+dnl  **************************************************************************/
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_LN_S
+AC_PROG_MAKE_SET
+AC_CHECK_PROG(CD, cd)
+dnl Configure needs an empty install.sh file with this, i HATE that...
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_SIZE_T
+
+
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+
+dnl Checks for library functions.
+AC_CHECK_FUNCS(strtol)
+
+AC_CHECK_HEADER(sys/resource.h,[AC_DEFINE([HAS_SYS_RESOURCE_H],1,[presence of sys/resource.h])],
+               [AC_MSG_RESULT([no])])
+
+dnl /**************************************************************************
+dnl  *                             Option setting                             *
+dnl  **************************************************************************/
+
+dnl Some default values cause I'm not sure whether autoconf set them, while
+dnl documentation says it does...
+gmp_package="yes"
+gmp_include_package="yes"
+gmp_library_package="yes"
+
+MP_BITS="MP"
+AC_DEFINE([LINEAR_VALUE_IS_MP], 1, [Empty comment])
+NEED_MP="no"
+
+dnl --with-ppl=ppl-path
+AC_ARG_WITH(ppl,
+           [AS_HELP_STRING([--with-ppl=DIR],
+                           [Prefix of Parma Polyhedral Library installation])])
+
+dnl --with-polylib=polylib-path
+AC_ARG_WITH(polylib_prefix,
+           [AS_HELP_STRING([--with-polylib-prefix=DIR],
+                           [Prefix of PolyLib installation])])
+AC_ARG_WITH(polylib_exec_prefix,
+           [AS_HELP_STRING([--with-polylib-exec-prefix=DIR],
+                           [Exec prefix of PolyLib installation])])
+AC_ARG_WITH(polylib_builddir,
+           [AS_HELP_STRING([--with-polylib-builddir=DIR],
+                           [Location of PolyLib builddir])])
+AC_ARG_WITH(bits,
+           [  --with-bits=32|64|gmp   PolyLib library type to use],
+           [ echo "polylib$withval"; BITS=$withval ])
+
+dnl --with-gmp=gmp-path
+AC_ARG_WITH(gmp,
+        [  --with-gmp=DIR          DIR where the gmp package is installed],
+       [ echo "Package gmp : $withval" &&
+         gmp_package=$withval &&
+          GMP_INC=$gmp_package/include &&
+          GMP_LIB=$gmp_package/lib &&
+          NEED_MP="yes"])
+
+AC_ARG_WITH(gmp-include,
+        [  --with-gmp-include=DIR  DIR where gmp.h is installed],
+       [ echo "Package gmp-include : $withval" &&
+         gmp_include_package=$withval &&
+          GMP_INC=$gmp_include_package &&
+         NEED_MP="yes"])
+
+AC_ARG_WITH(gmp-library,
+        [  --with-gmp-library=DIR  DIR where the gmp library is installed],
+       [ echo "Package gmp-library : $withval" &&
+         gmp_library_package=$withval &&
+          GMP_LIB=$gmp_library_package &&
+         NEED_MP="yes"])
+
+
+dnl /**************************************************************************
+dnl  *                            Where is GMP?                               *
+dnl  **************************************************************************/
+
+
+dnl Checking for gmp
+AC_MSG_CHECKING(whether gmp works)
+if test "$gmp_package" = "no"; then
+  echo "GMP package not defined"
+  AC_MSG_RESULT(no)
+  TO_BUILD_MP=""
+else
+  if test "$NEED_MP" = "no"; then
+    echo "Mode normal GMP"
+    TO_BUILD="$TO_BUILD MP"
+    AC_CHECK_HEADER(gmp.h,
+                    [AC_CHECK_LIB(gmp,
+                                 __gmpz_init,
+                                 [LIBS="$LIBS -lgmp"],
+                                 [echo "Can't find gmp library." &&
+                                  echo "MP version will not be builded." &&
+                                  TO_BUILD_MP=""])],
+                   [echo "Can't find gmp headers." &&
+                    echo "MP version will not be builded." &&
+                    TO_BUILD_MP=""])
+  else
+    dnl Default given by --with-X is "yes", --without-X is "no". We also
+    dnl initialized manually all gmp_package* variables to "yes" (thus they are
+    dnl supposed to be "yes" except if the user set them himself).
+    
+    if test "$gmp_package" != "yes" ; then
+      echo "(GMP path has been set by user)"
+      GMP_DIR=$gmp_package
+      dnl Useful for AC_CHECK_X to find what we want.
+      CPPFLAGS="-I$GMP_DIR/include $CPPFLAGS"
+      LDFLAGS="-L$GMP_DIR/lib $LDFLAGS"
+    fi
+    
+    if test "$gmp_include_package" != "yes" ; then
+      CPPFLAGS="-I$GMP_INC $CPPFLAGS"
+    fi
+    
+    if test "$gmp_library_package" != "yes" ; then
+      LDFLAGS="-L$GMP_LIB $LDFLAGS"
+    fi
+     
+    AC_CHECK_HEADER(gmp.h,
+                    [],
+                    [AC_MSG_ERROR(Can't find gmp headers.)])
+    AC_CHECK_LIB(gmp,
+                 __gmpz_init,
+                 [LIBS="$LIBS -lgmp"],
+                 [AC_MSG_ERROR(Can't find gmp library.)])
+    
+    AC_MSG_RESULT(yes)
+  fi
+fi
+
+dnl /**************************************************************************
+dnl  *                          Where is PolyLib?                             *
+dnl  **************************************************************************/
+
+polylibs="64 32"
+case "$BITS" in
+    32|64|gmp)
+       polylibs=$BITS
+    ;;
+esac
+
+dnl Checking for PolyLib
+AC_SUBST(cl_cv_polylib)
+AC_SUBST(POLYLIB_CPPFLAGS)
+AC_SUBST(POLYLIB_LDFLAGS)
+AC_SUBST(POLYLIB_LIBS)
+
+if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_exec_prefix" = "x"
+then
+       with_polylib_exec_prefix=$with_polylib_prefix
+fi
+if test "x$with_polylib_prefix" != "x" -a "x$with_polylib_builddir" != "x"; then
+       AC_MSG_ERROR(
+       [--with-polylib-prefix and --with-polylib-builddir are mutually exclusive])
+fi
+
+AC_MSG_CHECKING(for location of PolyLib)
+if test "x$with_polylib_builddir" != "x"; then
+       AC_MSG_RESULT(built in $with_polylib_builddir)
+       polylib_srcdir=`echo @srcdir@ | $with_polylib_builddir/config.status --file=-`
+       AC_MSG_NOTICE(PolyLib sources in $polylib_srcdir)
+       polylib_polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-`
+       AC_MSG_NOTICE(Configured polylibs: $polylib_polylibs)
+       CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include $CPPFLAGS"
+       for BITS in $polylibs; do
+               cl_cv_polylib=missing
+               for PL in $polylib_polylibs; do
+                       if test "libpolylib$BITS.la" = $PL; then
+                               cl_cv_polylib="polylib$BITS"
+                               break;
+                       fi
+               done
+               if test "$cl_cv_polylib" != "missing"; then
+                       LIBS="$with_polylib_builddir/lib$cl_cv_polylib.la $LIBS"
+                       break;
+               fi
+       done
+else
+       if test "x$with_polylib_prefix" != "x"; then
+               AC_MSG_RESULT(installed in $with_polylib_exec_prefix)
+               CPPFLAGS="-I$with_polylib_prefix/include $CPPFLAGS"
+               LDFLAGS="-L$with_polylib_exec_prefix/lib $LDFLAGS"
+               LD_LIBRARY_PATH="$with_polylib_exec_prefix/lib:$LD_LIBRARY_PATH"
+               export LD_LIBRARY_PATH
+       else
+               AC_MSG_RESULT(installed in standard location)
+       fi
+       for BITS in $polylibs; do
+               cl_cv_polylib="polylib$BITS"
+               AC_CHECK_LIB($cl_cv_polylib,PolyhedronTSort,[
+                       LIBS="-l$cl_cv_polylib $LIBS"
+                       break
+               ])
+               cl_cv_polylib=missing
+       done
+fi
+if test "$cl_cv_polylib" = "missing"; then
+       AC_MSG_RESULT(Can't find PolyLib.)
+else
+       AC_CHECK_HEADER(polylib/$cl_cv_polylib.h,[],
+                       [AC_MSG_ERROR(Can't find PolyLib headers.)])
+fi
+
+AC_SUBST(GIT_INDEX)
+if test -f $srcdir/.git/HEAD; then
+       GIT_INDEX="\$(top_srcdir)/.git/index"
+fi
+
+
+dnl /**************************************************************************
+dnl  *                     Where is Parma Polyhedral Library?                 *
+dnl  **************************************************************************/
+
+# The default back-end for polyhedral operations is PolyLib, unless
+# -with-ppl is used.
+AC_SUBST(POLYHEDRAL_BACKEND)
+POLYHEDRAL_BACKEND=polylib
+
+dnl Checking for PPL
+AC_SUBST(PPL_CPPFLAGS)
+AC_SUBST(PPL_LDFLAGS)
+AC_SUBST(PPL_LIBS)
+
+AC_MSG_CHECKING(for Parma Polyhedral Library (PPL))
+if test "x$with_ppl" != "x" -a "x$with_ppl" != "xno"; then
+
+       if test "x$with_polylib_prefix" != "x" -o "x$with_polylib_exec_prefix" != "x" -o "x$with_polylib_builddir" != "x"; then
+               AC_MSG_ERROR([--with-polylib and --with-ppl are mutually exclusive])
+       fi
+
+       if test "x$with_ppl" != "xyes" ; then
+           ppl_prefix=$with_ppl
+           AC_MSG_RESULT(installed in $ppl_prefix)
+           CPPFLAGS="-I$ppl_prefix/include $CPPFLAGS"
+           LDFLAGS="-L$ppl_prefix/lib $LDFLAGS"
+           LD_LIBRARY_PATH="$ppl_prefix/lib:$LD_LIBRARY_PATH"
+           export LD_LIBRARY_PATH
+       else
+           AC_MSG_RESULT(installed at system prefix)
+       fi
+       POLYHEDRAL_BACKEND=ppl
+
+       AC_CHECK_HEADER(ppl_c.h,[],
+                       [AC_MSG_ERROR(Can't find PPL headers.)])
+
+       AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
+       AC_TRY_COMPILE([#include "ppl_c.h"],[
+       #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
+       choke me
+       #endif
+       ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+
+       LIBS="$LIBS -lppl_c -lppl -lgmpxx"
+       AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
+
+else
+       AC_MSG_RESULT(not using PPL)
+fi
+
+# Allow host libstdc++ to be specified for static linking with PPL.
+AC_ARG_WITH(host-libstdcxx, [  --with-host-libstdcxx=L Use linker arguments L to link with libstdc++
+                          when linking with PPL])
+
+case $with_host_libstdcxx in
+  no|yes) AC_MSG_ERROR([-with-host-libstdcxx needs an argument]) ;;
+  *) LIBS="$LIBS $with_host_libstdcxx" ;;
+esac
+
+dnl /**************************************************************************
+dnl  *                            Substitutions                               *
+dnl  **************************************************************************/
+
+
+dnl Substitutions to do in Makefile.in.
+AC_SUBST(target)
+AC_SUBST(CC)
+AC_SUBST(LN_S)
+AC_SUBST(SHEXT)
+
+AC_SUBST(prefix)
+AC_SUBST(exec_prefix)
+AC_SUBST(INSTALL)
+
+AC_SUBST(BITS)
+
+AC_CONFIG_FILES(Makefile test/Makefile include/cloog/cloog.h autoconf/Doxyfile)
+AC_CONFIG_FILES(doc/Makefile)
+dnl AC_CONFIG_FILES(include/cloog/version.h)
+AC_CONFIG_FILES([genversion.sh], [chmod +x genversion.sh])
+AC_CONFIG_COMMANDS([version.h],
+       [echo '#define CLOOG_HEAD "'`./genversion.sh`'"' > version.h])
+AC_CONFIG_COMMANDS([doc/gitversion.texi],
+       [echo '@set VERSION '`./genversion.sh`'' > doc/gitversion.texi])
+AC_OUTPUT
+
+
+echo "             /*-----------------------------------------------*"
+echo "              *           CLooG configuration is OK           *"
+echo "              *-----------------------------------------------*/"
+echo "It appears that your system is OK to start CLooG compilation. You need"
+echo "now to type \"make\". After compilation, you should check CLooG by typing"
+echo "\"make check\". If no problem occur, you can type \"make uninstall\" if"
+echo "you are upgrading an old version. Lastly type \"make install\" to install"
+echo "CLooG on your system (log as root if necessary)."
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..82fcfa6
--- /dev/null
@@ -0,0 +1,6 @@
+info_TEXINFOS = cloog.texi
+
+cloog.pdf: gitversion.texi
+
+gitversion.texi: @GIT_INDEX@
+       echo '@set VERSION '`$(top_builddir)/genversion.sh`'' > $@
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644 (file)
index 0000000..99f5d93
--- /dev/null
@@ -0,0 +1,502 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+       $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/cloog/cloog-config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+INFO_DEPS = $(srcdir)/cloog.info
+TEXINFO_TEX = $(top_srcdir)/autoconf/texinfo.tex
+am__TEXINFO_TEX_DIR = $(top_srcdir)/autoconf
+DVIS = cloog.dvi
+PDFS = cloog.pdf
+PSS = cloog.ps
+HTMLS = cloog.html
+TEXINFOS = cloog.texi
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+DVIPS = dvips
+am__installdirs = "$(DESTDIR)$(infodir)"
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+INSTALL = @INSTALL@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITS = @BITS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CD = @CD@
+CFLAGS = @CFLAGS@
+CLOOG_VERSION_BETA = @CLOOG_VERSION_BETA@
+CLOOG_VERSION_MAJOR = @CLOOG_VERSION_MAJOR@
+CLOOG_VERSION_MINOR = @CLOOG_VERSION_MINOR@
+CLOOG_VERSION_REVISION = @CLOOG_VERSION_REVISION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GIT_INDEX = @GIT_INDEX@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POLYHEDRAL_BACKEND = @POLYHEDRAL_BACKEND@
+POLYLIB_CPPFLAGS = @POLYLIB_CPPFLAGS@
+POLYLIB_LDFLAGS = @POLYLIB_LDFLAGS@
+POLYLIB_LIBS = @POLYLIB_LIBS@
+PPL_CPPFLAGS = @PPL_CPPFLAGS@
+PPL_LDFLAGS = @PPL_LDFLAGS@
+PPL_LIBS = @PPL_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHEXT = @SHEXT@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+cl_cv_polylib = @cl_cv_polylib@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+info_TEXINFOS = cloog.texi
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .dvi .html .info .pdf .ps .texi
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  doc/Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool
+
+.texi.info:
+       restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+       am__cwd=`pwd` && cd $(srcdir) && \
+       rm -rf $$backupdir && mkdir $$backupdir && \
+       if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+         for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+           if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+         done; \
+       else :; fi && \
+       cd "$$am__cwd"; \
+       if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+        -o $@ $<; \
+       then \
+         rc=0; \
+         cd $(srcdir); \
+       else \
+         rc=$$?; \
+         cd $(srcdir) && \
+         $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+       fi; \
+       rm -rf $$backupdir; exit $$rc
+
+.texi.dvi:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+       $(TEXI2DVI) $<
+
+.texi.pdf:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+       $(TEXI2PDF) $<
+
+.texi.html:
+       rm -rf $(@:.html=.htp)
+       if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+        -o $(@:.html=.htp) $<; \
+       then \
+         rm -rf $@; \
+         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+           mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+       else \
+         if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+           rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
+         exit 1; \
+       fi
+$(srcdir)/cloog.info: cloog.texi 
+cloog.dvi: cloog.texi 
+cloog.html: cloog.texi 
+.dvi.ps:
+       TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+       $(DVIPS) -o $@ $<
+
+uninstall-info-am:
+       @$(PRE_UNINSTALL)
+       @if (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+           install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+         done; \
+       else :; fi
+       @$(NORMAL_UNINSTALL)
+       @list='$(INFO_DEPS)'; \
+       for file in $$list; do \
+         relfile=`echo "$$file" | sed 's|^.*/||'`; \
+         relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
+         (if cd "$(DESTDIR)$(infodir)"; then \
+            echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
+            rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+          else :; fi); \
+       done
+
+dist-info: $(INFO_DEPS)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(INFO_DEPS)'; \
+       for base in $$list; do \
+         case $$base in \
+           $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$base; then d=.; else d=$(srcdir); fi; \
+         base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
+         for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
+           if test -f $$file; then \
+             relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+             test -f $(distdir)/$$relfile || \
+               cp -p $$file $(distdir)/$$relfile; \
+           else :; fi; \
+         done; \
+       done
+
+mostlyclean-aminfo:
+       -rm -rf cloog.aux cloog.cp cloog.cps cloog.fn cloog.fns cloog.ky cloog.kys \
+         cloog.log cloog.pg cloog.pgs cloog.tmp cloog.toc cloog.tp \
+         cloog.tps cloog.vr cloog.vrs cloog.dvi cloog.pdf cloog.ps \
+         cloog.html
+
+maintainer-clean-aminfo:
+       @list='$(INFO_DEPS)'; for i in $$list; do \
+         i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
+         echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
+         rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+       done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="$(top_distdir)" distdir="$(distdir)" \
+         dist-info
+check-am: all-am
+check: check-am
+all-am: Makefile $(INFO_DEPS)
+installdirs:
+       for dir in "$(DESTDIR)$(infodir)"; do \
+         test -z "$$dir" || $(mkdir_p) "$$dir"; \
+       done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am: $(DVIS)
+
+html: html-am
+
+html-am: $(HTMLS)
+
+info: info-am
+
+info-am: $(INFO_DEPS)
+
+install-data-am: install-info-am
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-info-am: $(INFO_DEPS)
+       @$(NORMAL_INSTALL)
+       test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       list='$(INFO_DEPS)'; \
+       for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+         esac; \
+         if test -f $$file; then d=.; else d=$(srcdir); fi; \
+         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
+         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
+                       $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+           if test -f $$ifile; then \
+             relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
+             echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
+             $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
+           else : ; fi; \
+         done; \
+       done
+       @$(POST_INSTALL)
+       @if (install-info --version && \
+            install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           relfile=`echo "$$file" | sed 's|^.*/||'`; \
+           echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+           install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+         done; \
+       else : ; fi
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+       maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \
+       mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am: $(PDFS)
+
+ps: ps-am
+
+ps-am: $(PSS)
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       dist-info distclean distclean-generic distclean-libtool \
+       distdir dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-exec \
+       install-exec-am install-info install-info-am install-man \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-aminfo \
+       maintainer-clean-generic mostlyclean mostlyclean-aminfo \
+       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+       uninstall uninstall-am uninstall-info-am
+
+
+cloog.pdf: gitversion.texi
+
+gitversion.texi: @GIT_INDEX@
+       echo '@set VERSION '`$(top_builddir)/genversion.sh`'' > $@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/ROADMAP b/doc/ROADMAP
new file mode 100644 (file)
index 0000000..03e9465
--- /dev/null
@@ -0,0 +1,18 @@
+still to do before
+0.14.0 - dumping functions
+       - backtrack only to remove ifs
+       - update documentation
+       - configure for GMP and Solaris
+
+0.14.1 - remove the constraint that all scattering functions must have the same
+         dimensionality and use the new liberty degrees to generate better codes
+         (e.g. continue loop fusion only when the stride is the same...)
+       - if-hoisting instead of backtracking by option
+       
+0.14.2 clean loop during generation (haircut and never_integral)
+
+0.14.3 allow non-integral scattering (easy: see PACT paper)
+
+...
+
+1.0.0  Omega-like input.
diff --git a/doc/TODO b/doc/TODO
new file mode 100644 (file)
index 0000000..152c82d
--- /dev/null
+++ b/doc/TODO
@@ -0,0 +1,58 @@
+#
+#  /**-------------------------------------------------------------------**
+#   **                              CLooG                                **
+#   **-------------------------------------------------------------------**
+#   **                     The Chunky Loop Generator                     **
+#   **-------------------------------------------------------------------**
+#   **            First version of this file: april 29th 2005            **
+#   **-------------------------------------------------------------------**/
+#
+
+This file is mainly for the authors, in order to put ideas, requests, and
+work-in-progress notes.
+
+#   **-------------------------------------------------------------------**
+#   **                       I. Requested features                       **
+#   **-------------------------------------------------------------------**/
+
+1. GMP !!! (LooPo Team).
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+2. Set the statement prefix (Michael Classen).
+
+3. Do not fuse the iterators/scattering dimension names lists (Hadda Cheroun).
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+4. Exploit URUK transformation properties (WRAP-IT Team).
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+
+#   **-------------------------------------------------------------------**
+#   **                         II. Known bugs                            **
+#   **-------------------------------------------------------------------**/
+
+1. Lead to segfault :
+cloog ./test/daegon_lu_osp.cloog -f 3 -l 6 -nobacktrack -override
+(while every other -l values do not !)
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+2. -strides gives bad result for a dreamup or interpolation-duration file in
+test/non_optimal (I don't remember which one)
+
+3. Various configure problems (check Sylvain Girbal mails in the mailbox !).
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+4. With GMP, try test/emploi.cloog (with valgrind): a memory leak...
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+5. With GMP, option -cpp do not write all the statement internal stuff
+(e.g., S1(,,) ; instead of S1(i,j,k) ;).
+DOOOOOOOOOOOOOOOOOOOOOOOOONE !!!!!!!!!!!!!!!!!
+
+#   **-------------------------------------------------------------------**
+#   **                        III. Various notes                         **
+#   **-------------------------------------------------------------------**/
+
+Kill the cat.
+
+
diff --git a/doc/cloog.info b/doc/cloog.info
new file mode 100644 (file)
index 0000000..ae0d1b0
Binary files /dev/null and b/doc/cloog.info differ
diff --git a/doc/cloog.texi b/doc/cloog.texi
new file mode 100644 (file)
index 0000000..ccfc556
--- /dev/null
@@ -0,0 +1,2506 @@
+\input texinfo
+@c %
+@c %  /**-----------------------------------------------------------------**
+@c %   **                              CLooG                              **
+@c %   **-----------------------------------------------------------------**
+@c %   **                            cloog.texi                           **
+@c %   **-----------------------------------------------------------------**
+@c %   **                   First version: july 6th 2002                  **
+@c %   **-----------------------------------------------------------------**/
+@c %
+@c % release 1.0: september 17th 2002
+@c % release 1.1: december   5th 2002
+@c % release 1.2: april     22th 2003
+@c % release 2.0: november  21th 2005 (and now in texinfo instead of LaTeX)
+@c % release 2.1: october   15th 2007
+@c %
+@c %/**************************************************************************
+@c % *               CLooG : the Chunky Loop Generator (experimental)         *
+@c % **************************************************************************/
+@c %/* CAUTION: the english used is probably the worst you ever read, please
+@c % *          feel free to correct and improve it !
+@c % */
+
+@c %\textit{"I found the ultimate transformation functions, optimization for
+@c %static control programs is now a closed problem, I have \textnormal{just}
+@c %to generate the target code !"} 
+
+
+
+@c % /*************************************************************************
+@c %  *                              PART I: HEADER                           *
+@c %  *************************************************************************/
+@c %**start of header
+
+@setfilename cloog.info
+@settitle CLooG - a loop generator for scanning polyhedra
+
+@dircategory Software libraries
+@direntry
+* cloog: (cloog).  A loop generator for scanning polyhedra
+@end direntry
+
+@set EDITION 2.1
+@include gitversion.texi
+@set UPDATED October 15th 2007
+@setchapternewpage odd
+
+@c %**end of header
+
+@c % /*************************************************************************
+@c %  *                 PART II: SUMMARY DESCRIPTION AND COPYRIGHT            *
+@c %  *************************************************************************/
+
+@copying
+This manual is for CLooG version @value{VERSION}, a software
+which generates loops for scanning Z-polyhedra. That is, CLooG produces a
+code visiting each integral point of a union of parametrized
+polyhedra. CLooG is designed to avoid control overhead and to produce a very
+efficient code.
+
+It would be quite kind to refer the following paper in any publication that
+results from the use of the CLooG software or its library:
+
+@example
+@@InProceedings@{Bas04,
+@ @ author =@ @ @ @ @{C. Bastoul@},
+@ @ title =@ @ @ @ @ @{Code Generation in the Polyhedral Model
+@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ Is Easier Than You Think@},
+@ @ booktitle = @{PACT'13 IEEE International Conference on
+@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ Parallel Architecture and Compilation Techniques@},
+@ @ year =@ @ @ @ @ @ 2004,
+@ @ pages =@ @ @ @ @ @{7--16@},
+@ @ month =@ @ @ @ @ @{september@},
+@ @ address =@ @ @ @{Juan-les-Pins@}
+@}
+@end example
+
+Copyright @copyright{} 2002-2005 C@'edric Bastoul.
+
+@c quotation
+Permission is granted to copy, distribute and/or modify this document under
+the terms of the GNU Free Documentation License, Version 1.2 
+published by the Free Software Foundation. To receive a copy of the
+GNU Free Documentation License, write to the Free Software Foundation, Inc.,
+59 Temple Place, Suite 330, Boston, MA  02111-1307 USA.
+@c end quotation
+@end copying
+
+@c % /*************************************************************************
+@c %  *                 PART III: TITLEPAGE, CONTENTS, COPYRIGHT              *
+@c %  *************************************************************************/
+@titlepage
+@title CLooG
+@subtitle A Loop Generator For Scanning Polyhedra
+@subtitle Edition @value{EDITION}, for CLooG @value{VERSION}
+@subtitle @value{UPDATED}
+@author C@'edric Bastoul
+     
+@c The following two commands start the copyright page.
+@page
+@noindent (September 2001)
+@table @code
+@item C@'edric Bastoul
+SCHEDULES GENERATE !!! I just need to apply them now, where can I find
+a good code generator ?!
+     
+@item Paul Feautrier
+Hmmm. I fear that if you want something powerful enough, you'll have to
+write it yourself !
+@end table
+
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+     
+@c Output the table of contents at the beginning.
+@contents
+
+@c % /*************************************************************************
+@c %  *                     PART IV: TOP NODE AND MASTER MENU                 *
+@c %  *************************************************************************/
+@ifnottex
+@node Top
+@top CLooG
+     
+@insertcopying
+@end ifnottex
+
+@menu
+* Introduction::
+* CLooG Software::
+* CLooG Library::
+@c * Hacking::
+* Installing::
+* Documentation::
+* References::
+@end menu
+
+
+@c % /*************************************************************************
+@c %  *                       PART V: BODY OF THE DOCUMENT                    *
+@c %  *************************************************************************/
+
+@c %  ****************************** INTRODUCTION ******************************
+@node Introduction
+@chapter Introduction
+CLooG is a free software and library generating loops for scanning Z-polyhedra.
+That is, it finds a code (e.g. in C, FORTRAN...) that reaches each integral
+point of one or more parameterized polyhedra. CLooG has been originally
+written to solve the code generation problem for optimizing compilers based on
+the polytope model. Nevertheless it is used now in various area, e.g., to build
+control automata for high-level synthesis or to find the best polynomial
+approximation of a function. CLooG may help in any situation where scanning
+polyhedra matters. It uses the best state-of-the-art code generation
+algorithm known as the Quiller@'e et al. algorithm (@pxref{Qui00})
+with our own improvements and extensions (@pxref{Bas04}).
+The user has full control on generated code quality.
+On one hand, generated code size has to be tuned for sake of
+readability or instruction cache use. On the other hand, we must ensure that
+a bad control management does not hamper performance of the generated code,
+for instance by producing redundant guards or complex loop bounds.
+CLooG is specially designed to avoid control overhead and to produce a very
+efficient code.
+
+CLooG stands for @emph{Chunky Loop Generator}: it is a part of the Chunky
+project, a research tool for data locality improvement (@pxref{Bas03a}).
+It is designed
+also to be the back-end of automatic parallelizers like LooPo (@pxref{Gri04}).
+Thus it is very
+compilable code oriented and provides powerful program transformation
+facilities. Mainly, it allows the user to specify very general schedules where, 
+e.g., unimodularity or invertibility of the transformation doesn't matter.
+
+The current version is still under
+evaluation, and there is no guarantee that the upward compatibility
+will be respected (but the previous API has been stable for two years,
+we hope this one will be as successful -and we believe it-).
+A lot of reports are necessary to freeze the library
+API and the input file shape. Most API changes from 0.12.x to 0.14.x
+have been requested by the users themselves.
+Thus you are very welcome and encouraged
+to post reports on bugs, wishes, critics, comments, suggestions or
+successful experiences in the forum of @code{http://www.CLooG.org}
+or to send them to cedric.bastoul@@inria.fr directly.
+
+@menu
+* Basics::
+* Scattering::
+@end menu
+
+@node Basics
+@section Basically, what's the point ?
+If you want to use CLooG, this is because you want to scan or to find
+something inside the integral points of a set of polyhedra. There are many
+reasons for that. Maybe you need the generated code itself because it
+actually implements a very smart program transformation you found.
+Maybe you want to use the generated code
+because you know that the solution of your problem belongs to the integral
+points of those damned polyhedra and you don't know which one. Maybe you just
+want to know if a polyhedron has integral points depending on some parameters,
+which is the lexicographic minimum, maximum, the third on the basis of the
+left etc. Probably you have your own reasons to use CLooG.
+
+Let us illustrate a basic use of CLooG. Suppose we have a set of affine
+constraints that describes a part of a whatever-dimensional space,
+called a @strong{domain}, and we
+want to scan it. Let us consider for instance the following set of constraints
+where @samp{i}
+and @samp{j} are the unknown (the two dimensions of the space) and
+@samp{m} and @samp{n} are the parameters (some symbolic constants):
+@example
+@group
+2<=i<=n
+2<=j<=m
+j<=n+2-i
+@end group
+@end example
+Let us also consider that we have a partial knowledge of the parameter values,
+called the @strong{context}, expressed as affine constraints as well,
+for instance:
+@example
+@group
+m>=2
+n>=2
+@end group
+@end example
+Note that using parameters is optional, if you are not comfortable with
+parameter manipulation, just replace them with any scalar value that fits
+@code{m>=2} and @code{n>=2}.
+A graphical representation of this part of the 2-dimensional space, where
+the integral points are represented using heavy dots would be for instance:
+
+@image{images/basic,6cm}
+
+The affine constraints of both the domain and the context are what we will
+provide to CLooG as input (in a particular shape that will be described later).
+The output of CLooG is a pseudo-code to scan the integral points of the
+input domain according to the context:
+@example
+@group
+for (i=2;i<=n;i++) @{
+  for (j=2;j<=min(m,-i+n+2);j++) @{    
+    S1(i,j) ;
+  @}
+@}
+@end group
+@end example
+If you felt such a basic example is yet interesting, there is a good chance
+that CLooG is appropriate for you. CLooG can do much more: scanning several
+polyhedra or unions of polyhedra at the same time, applying general affine
+transformations to the polyhedra, generate compilable code etc. Welcome
+to the CLooG's user's guide !
+
+@node Scattering
+@section Defining a Scanning Order: Scattering Functions
+In CLooG, domains only define the set of integral points to scan and their
+coordinates. In particular, CLooG is free to choose the scanning order for
+generating the most efficient code. This means, for optimizing/parallelizing
+compiler people, that CLooG doesn't make any speculation on dependences on and
+between statements (by the way, it's not its job !).
+For instance, if an user give to
+CLooG only two domains @code{S1:1<=i<=n}, @code{S2:1<=i<=n} and the context
+@code{n>=1}, the following pseudo-codes are considered to be equivalent:
+
+@example
+@group
+/* A convenient target pseudo-code. */
+for (i=1;i<=N;i++) @{
+ S1(i) ;
+@}
+for (i=1;i<=N;i++) @{
+ S2(i) ;
+@}
+@end group
+@end example
+
+@example
+@group
+/* Another convenient target pseudo-code. */
+for (i=1;i<=N;i++) @{
+ S1(i) ;
+ S2(i) ;
+@}
+@end group
+@end example
+
+The default behaviour
+of CLooG is to generate the second one, since it is optimized in control. 
+It is right if there are no data dependences
+between @code{S1} and @code{S2}, but wrong otherwise. 
+
+Thus it is often useful to force scanning to respect a given order. This can be
+done in CLooG by using @strong{scattering functions}. Scattering is a
+shortcut for scheduling, allocation, chunking functions and the like we can
+find in the restructuring compilation litterature. There are a lot of reasons
+to scatter the integral points of the domains (i.e. the statement instances
+of a program, for compilation people), parallelization or optimization are good
+examples. For instance, if the user wants for any reason to set some
+precedence constraints between the statements of our example above
+in order to force the generation of the
+first code, he can do it easily by setting (for example) the following
+scheduling functions:
+
+@tex
+$$\theta _{S1}(i) =  (1)$$
+$$\theta _{S2}(j) =  (2)$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i) = (1)
+T_S2(j) = (2)
+@end group
+@end example
+@end ifnottex
+
+This scattering means that each integral point of the domain @code{S1}
+is scanned at logical date @code{1} while each integral point of the domain
+@code{S2} is scanned at logical date @code{2}. As a result, the whole
+domain @code{S1} is scanned before domain @code{S2} and the first code in our
+example is generated.
+
+The user can set every kind of affine scanning order thanks to the
+scattering functions. Each domain has its own scattering function and
+each scattering function may be multi-dimensional. A multi-dimentional logical
+date may be seen as classical date (year,month,day,hour,minute,etc.) where
+the first dimensions are the most significant. Each scattering dimension
+may depend linearly on the original dimensions (e.g., @code{i}), the
+parameters (e.g., @code{n}) ans scalars (e.g., @code{2}).
+
+A very useful example of multi-dimensional scattering functions is, for
+compilation people, the scheduling of the original program.
+The basic data to use for code generation are statement iteration domains.
+As we saw, these data are not sufficient to rebuild the original
+program (what is the ordering between instances of different statements ?).
+The missing data can be put in the scattering functions as the original
+scheduling. The method to compute it is quite simple (@pxref{Fea92}). The idea is to
+build an abstract syntax tree of the program and to read the scheduling for
+each statement. For instance, let us consider the following implementation of
+a Cholesky factorization:
+
+@example
+@group
+/* A Cholesky factorization kernel. */
+for (i=1;i<=N;i++) @{
+  for (j=1;j<=i-1;j++) @{
+    a[i][i] -= a[i][j] ;           /* S1 */
+  @}
+  a[i][i] = sqrt(a[i][i]) ;        /* S2 */
+  for (j=i+1;j<=N;j++) @{
+    for (k=1;k<=i-1;k++) @{
+      a[j][i] -= a[j][k]*a[i][k] ; /* S3 */
+    @}
+    a[j][i] /= a[i][i] ;           /* S4 */
+    @}
+  @}
+@}
+@end group
+@end example
+
+The corresponding abstract syntax tree is given in the following figure.
+It directly gives the scattering functions (schedules) for all the
+statements of the program.
+
+@image{images/tree,6cm}
+
+@tex
+$$
+\hbox{$ \cases{ \theta _{S1}(i,j)^T    &$=  (0,i,0,j,0)^T$\cr
+                \theta _{S2}(i)        &$=  (0,i,1)^T$\cr
+                \theta _{S3}(i,j,k)^T  &$=  (0,i,2,j,0,k,0)^T$\cr
+                \theta _{S4}(i,j)^T    &$=  (0,i,2,j,1)^T$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i,j)^T   = (0,i,0,j,0)^T
+T_S2(i)       = (0,i,1)^T
+T_S3(i,j,k)^T = (0,i,2,j,0,k,0)^T
+T_S4(i,j)^T   = (0,i,2,j,1)^T
+@end group
+@end example
+@end ifnottex
+
+These schedules depend on the iterators and give for each instance of each
+statement a unique execution date. Using such scattering functions allow
+CLooG to re-generate the input code. 
+
+
+
+
+
+@c %  ***********************Using the CLooG Software **************************
+@node CLooG Software
+@chapter Using the CLooG Software
+
+
+@menu
+* A First Example::
+* Writing The Input File::
+* Calling CLooG::
+* CLooG Options::
+* Full Example::
+@end menu
+
+@c %/*************************************************************************
+@c % *                              A FIRST EXAMPLE                          *
+@c % *************************************************************************/
+@node A First Example
+@section A First Example
+CLooG takes as input a file that must be written accordingly to a grammar
+described in depth in a further section (@pxref{Writing The Input File}). 
+Moreover it supports many options to tune the target code presentation or
+quality as discussed in a dedicated section (@pxref{Calling CLooG}).
+However, a basic use
+of CLooG is not very complex and we present in this section how to generate the
+code corresponding to a basic example discussed earlier (@pxref{Basics}).
+
+The problem is to find the code that scans a 2-dimensional polyhedron
+where @samp{i} and @samp{j} are the unknown (the two dimensions of the space)
+and @samp{m} and @samp{n} are the parameters (the symbolic constants),
+defined by the following set of constraints:
+@example
+@group
+2<=i<=n
+2<=j<=m
+j<=n+2-i
+@end group
+@end example
+@noindent We also consider a partial knowledge of the parameter values,
+expressed thanks to the following affine constraints:
+@example
+@group
+m>=2
+n>=2
+@end group
+@end example
+
+An input file that corresponds to this problem, and asks for a generated
+code in C, may be the following. Note that we do not describe here precisely
+the structure and the components of this file (@pxref{Writing The Input File}
+ for such information, if you feel it necessary):
+
+@example
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+# Context (constraints on two parameters)
+2 4                   # 2 lines and 4 columns
+# eq/in m  n  1         eq/in: 1 for inequality >=0, 0 for equality =0
+    1   1  0 -2       # 1*m + 0*n -2*1 >= 0, i.e. m>=2
+    1   0  1 -2       # 0*m + 1*n -2*1 >= 0, i.e. n>=2
+
+1 # We want to set manually the parameter names
+m n                   # parameter names
+
+# --------------------- STATEMENTS --------------------
+1 # Number of statements
+
+1 # First statement: one domain
+# First domain
+5 6                   # 5 lines and 6 columns
+# eq/in i  j  m  n  1 
+    1   1  0  0  0 -2 # i >= 2
+    1  -1  0  0  1  0 # i <= n
+    1   0  1  0  0 -2 # j >= 2
+    1   0 -1  1  0  0 # j <= m
+    1  -1 -1  0  1  2 # n+2-i>=j
+0  0  0               # for future options
+
+1 # We want to set manually the iterator names
+i j                   # iterator names
+
+# --------------------- SCATTERING --------------------
+0 # No scattering functions
+@end example
+
+This file may be called @samp{basic.cloog}
+(this example is provided in the CLooG distribution as
+@code{test/manual_basic.cloog}) and we can ask CLooG to process it
+and to generate the code by a simple calling to CLooG with this file as input:
+@samp{cloog basic.cloog}. By default, CLooG will print the generated code in
+the standard output:
+
+@example
+@group
+/* Generated by CLooG v@value{VERSION} in 0.00s. */
+for (i=2;i<=n;i++) @{
+  for (j=2;j<=min(m,-i+n+2);j++) @{    
+    S1(i,j) ;
+  @}
+@}
+@end group
+@end example
+
+@c %/*************************************************************************
+@c % *                                Input file                             *
+@c % *************************************************************************/
+@node Writing The Input File
+@section Writing The Input File
+The input text file contains a problem description, i.e. the context,
+the domains and the scattering functions.
+Because CLooG is very 'compilable code generation oriented', we can associate
+some additional informations to each domain. We call this association a
+@emph{statement}. The set of all informations is 
+called a @emph{program}. The input file respects the grammar below
+(terminals are preceeded by "_"):
+
+@example
+File             ::= Program
+Program          ::= Context Statements Scattering
+Context          ::= Language      Domain         Naming
+Statements       ::= Nb_statements Statement_list Naming
+Scattering       ::= Nb_functions  Domain_list    Naming
+Naming           ::= Option Name_list
+Name_list        ::= _String   Name_list      | (void)
+Statement_list   ::= Statement Statement_list | (void)
+Domain_list      ::= _Domain   Domain_list    | (void)
+Statement        ::= Iteration_domain 0 0 0
+Iteration_domain ::= Domain_union
+Domain_union     ::= Nb_domains Domain_list
+Option           ::= 0 | 1
+Language         ::= c | f
+Nb_statements    ::= _Integer
+Nb_domains       ::= _Integer
+Nb_functions     ::= _Integer
+@end example
+
+@itemize @bullet
+@item  @samp{Context} represents the informations that are
+       shared by all the statements. It consists on
+       the language used (which can be @samp{c} for C or @samp{f} for FORTRAN 90)
+       and the global constraints on parameters.
+       These constraints are essential
+       since they give to CLooG the number of parameters. If there is no
+       parameter or no constraints on parameters, just give a constraint
+       always satisfied like @math{1 \geq 0}. @samp{Naming} sets the parameter
+       names.
+       If the naming option @samp{Option} is 1, parameter names will be read
+       on the next line. There must be exactly as many names as parameters.
+       If the naming option @samp{Option} is 0, parameter names are
+       automatically generated. The name of the first parameter will
+       be @samp{M}, and the name of the @math{(n+1)^{th}} parameter directly
+       follows the name of the @math{n^{th}} parameter in ASCII code.
+       It is the user responsibility to ensure that parameter names,
+       iterators and scattering dimension names are different. 
+@item  @samp{Statements} represents the informations on the statements.
+       @samp{Nb_statements} is the number of statements in the program, 
+       i.e. the number of @samp{Statement} items in the @samp{Statement_list}.
+       @samp{Statement} represents the informations on a given statement.
+       To each statement is associated a domain
+       (the statement iteration domain: @samp{Iteration_domain}) and three
+       zeroes that represents future options.
+       @samp{Naming} sets the iterator names. If the naming option
+       @samp{Option} is 1, the iterator names
+       will be read on the next line. There must be exactly as many names as
+       nesting level in the deepest iteration domain. If the naming option
+       @samp{Option} is 0, iterator names are automatically generated.
+       The iterator name of the outermost loop will be @samp{i}, and the
+       iterator name of the loop at level @math{n+1} directly follows the 
+       iterator name of the loop at level @math{n} in ASCII code. 
+@item  @samp{Scattering} represents the informations on scattering functions.
+       @samp{Nb_functions} is the number of functions (it must be
+       equal to the number of statements or 0 if there is no scattering
+       function). The function themselves are represented through
+       @samp{Domain_list}.
+       @samp{Naming} sets the scattering dimension names. If the naming option
+       @samp{Option} is 1, the scattering dimension names will be read on the
+       next line.
+       There must be exactly as many names as scattering dimensions. If the
+       naming option @samp{Option} is 0, scattering dimension names are automatically
+       generated. The name of the @math{n^{th}} scattering dimention
+       will be @samp{cn}.
+@end itemize
+
+@menu
+* Domain Representation::
+* Scattering Representation::
+@end menu
+
+@node Domain Representation
+@subsection Domain Representation
+As shown by the grammar, the input file describes the various informations
+thanks to characters, integers and domains. Each domain is defined by a set of
+constraints in the PolyLib format (@pxref{Wil93}). They have the
+following syntax:
+@enumerate
+@item some optional comment lines beginning with @samp{#},
+@item the row and column numbers, possibly followed by comments,
+@item the constraint rows, each row corresponds to a constraint the
+      domain have to satisfy. Each row must be on a single line and is possibly
+      followed by comments. The constraint is an equality @math{p(x) = 0} if the
+      first element is 0, an inequality  @math{p(x) \geq 0} if the first element
+      is 1. The next elements are the unknown coefficients, followed by
+      the parameter coefficients. The last element is the constant factor.
+@end enumerate
+For instance, assuming that @samp{i}, @samp{j} and @samp{k} are iterators and
+@samp{m} and @samp{n} are parameters, the domain defined by the following
+constraints :
+
+@tex
+$$
+\hbox{$ \cases{ -i     + m &$\geq 0$\cr
+                    -j + n &$\geq 0$\cr
+                 i + j - k &$\geq 0$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+   -i + m >= 0
+   -j + n >= 0
+i + j - k >= 0
+@end group
+@end example
+@end ifnottex
+
+@noindent can be written in the input file as follows :
+
+@example
+@group
+# This is the domain
+3 7                      # 3 lines and 7 columns
+# eq/in i  j  k  m  n  1 
+    1  -1  0  0  1  0  0 #    -i + m >= 0
+    1   0 -1  0  0  1  0 #    -j + n >= 0
+    1   1  1 -1  0  0  0 # i + j - k >= 0
+@end group
+@end example
+
+Each iteration domain @samp{Iteration_domain} of a given statement
+is a union of polyhedra
+@samp{Domain_union}. A union is defined by its number of elements
+@samp{Nb_domains} and the elements themselves @samp{Domain_list}.
+For instance, let us consider the following pseudo-code:
+
+@example
+@group
+for (i=1;i<=n;i++) @{
+  if ((i >= m) || (i <= 2*m))
+    S1 ;
+  for (j=i+1;j<=m;j++)
+    S2 ;
+@} 
+@end group
+@end example
+
+@noindent The iteration domain of @samp{S1} can be divided into two
+polyhedra and written in the input file as follows:
+
+@example
+@group
+2 # Number of polyhedra in the union
+# First domain
+3 5                # 3 lines and 5 columns
+# eq/in i  m  n  1 
+    1   1  0  0 -1 #  i >= 1
+    1  -1  0  1  0 #  i <= n
+    1   1 -1  0  0 #  i >= m
+# Second domain
+3 5                # 3 lines and 5 columns
+# eq/in i  m  n  1 
+    1   1  0  0 -1 #  i >= 1
+    1  -1  0  1  0 #  i <= n
+    1  -1  2  0  0 #  i <= 2*m
+@end group
+@end example
+
+@node Scattering Representation
+@subsection Scattering Function Representation
+Scattering functions are depicted in the input file thanks a representation
+very close to the domain one.
+An integer gives the number of functions @samp{Nb_functions} and each function
+is represented by a domain. Each line of the domain corresponds to an equality
+defining a dimension of the function. Note that at present
+(CLooG @value{VERSION})
+@strong{all functions must have the same scattering dimension number}. If a
+user wants to set scattering functions with different dimensionality, he has
+to complete the smaller one with zeroes to reach the maximum dimensionality.
+For instance, let us consider the following code and
+scheduling functions:
+
+@example
+@group
+for (i=1;i<=n;i++) @{
+  if ((i >= m) || (i <= 2*m))
+    S1 ;
+  for (j=i+1;j<=m;j++)
+    S2 ;
+@} 
+@end group
+@end example
+
+@tex
+$$
+\hbox{$ \cases{ \theta _{S1}(i)      &$=  (i,0)^T$\cr
+                \theta _{S2}(i,j)^T  &$=  (n,i+j)^T$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i)     = (i,0)^T
+T_S2(i,j)^T = (n,i+j)^T
+@end group
+@end example
+@end ifnottex
+
+
+@noindent This scheduling can be written in the input file as follows:
+
+@example
+@group
+2 # Number of scattering functions
+# First function
+2 7                          # 2 lines and 7 columns
+# eq/in c1 c2  i  m  n  1 
+    0    1  0 -1  0  0  0    #  c1 = i
+    0    0  1  0  0  0  0    #  c2 = 0
+# Second function
+2 8                          # 2 lines and 8 columns
+# eq/in c1 c2  i  j  m  n  1 
+    0    1  0  0  0  0 -1  0 #  c1 = n
+    0    0  1 -1 -1  0  0  0 #  c2 = i+j
+@end group
+@end example
+The complete input file for the user who wants to generate the code for this
+example with the preceding scheduling would be
+(this file is provided in the CLooG distribution
+as @code{test/manual_scattering.cloog}:
+
+@example
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+# Context (no constraints on two parameters)
+1 4                   # 1 lines and 4 columns
+# eq/in m  n  1
+    1   0  0  0       # 0 >= 0, always true
+
+1 # We want to set manually the parameter names
+m n                   # parameter names
+
+# --------------------- STATEMENTS --------------------
+2 # Number of statements
+
+2 # First statement: two domains
+# First domain
+3 5                   # 3 lines and 5 columns
+# eq/in i  m  n  1
+    1   1  0  0 -1    # i >= 1
+    1  -1  0  1  0    # i <= n
+    1   1 -1  0  0    # i >= m
+# Second domain
+3 5                   # 3 lines and 5 columns
+# eq/in i  m  n  1 
+    1   1  0  0 -1    # i >= 1
+    1  -1  0  1  0    # i <= n
+    1  -1  2  0  0    # i <= 2*m
+0  0  0               # for future options
+1 # Second statement: one domain
+4 6                   # 4 lines and 6 columns
+# eq/in i  j  m  n  1 
+    1   1  0  0  0 -1 # i >= 1
+    1  -1  0  0  1  0 # i <= n
+    1  -1  1  0  0 -1 # j >= i+1
+    1   0 -1  1  0  0 # j <= m
+0  0  0               # for future options
+
+1 # We want to set manually the iterator names
+i j                   # iterator names
+
+# --------------------- SCATTERING --------------------
+2 # Scattering functions
+# First function
+2 7                   # 2 lines and 7 columns
+# eq/in p1 p2  i  m  n  1 
+    0    1  0 -1  0  0  0    # p1 = i
+    0    0  1  0  0  0  0    # p2 = 0
+# Second function
+2 8                   # 2 lines and 8 columns
+# eq/in p1 p2  i  j  m  n  1 
+    0    1  0  0  0  0 -1  0 # p1 = n
+    0    0  1 -1 -1  0  0  0 # p2 = i+j
+
+1 # We want to set manually the scattering dimension names
+p1 p2                 # scattering dimension names
+@end example
+
+
+@c %/*************************************************************************
+@c % *                             Calling CLooG                             *
+@c % *************************************************************************/
+@node Calling CLooG
+@section Calling CLooG
+CLooG is called by the following command:
+@example
+       cloog [ options | file ]
+@end example
+The default behavior of CLooG is to read the input informations from a file and
+to print the generated code or pseudo-code on the standard output.
+CLooG's behavior and the output code shape is under the user control thanks
+to many options which are detailed a further section (@pxref{CLooG Options}).
+@code{file} is the input file. @code{stdin} is a special value: when used,
+input is standard input. For instance, we can call CLooG to treat the
+input file @code{basic.cloog} with default options by typing:
+@code{cloog basic.cloog} or @code{more basic.cloog | cloog stdin}.
+
+@c %/*************************************************************************
+@c % *                             CLooG Options                             *
+@c % *************************************************************************/
+@node CLooG Options
+@section CLooG Options
+
+@menu
+* Last Depth to Optimize Control::
+* First Depth to Optimize Control::
+* Simplify Convex Hull::
+* Once Time Loop Elimination::
+* Equality Spreading::
+* Constant Spreading::
+* First Level for Spreading::
+* C PreProcessor Friendly::
+* Statement Block::
+* Loop Strides::
+* Compilable Code::
+* Output::
+* Help::
+* Version ::
+@end menu
+
+@node Last Depth to Optimize Control
+@subsection Last Depth to Optimize Control @code{-l <depth>}
+
+@code{-l <depth>}: this option sets the last loop depth to be optimized in
+control. The higher this depth, the less control overhead.
+For instance, with some input file, a user can generate
+different pseudo-codes with different @code{depth} values as shown below.
+@example
+@group
+/* Generated using a given input file and @strong{option -l 1} */
+for (i=0;i<=M;i++) @{
+  S1 ;
+  for (j=0;j<=N;j++) @{
+    S2 ;
+  @}
+  for (j=0;j<=N;j++) @{
+    S3 ;
+  @}
+  S4 ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -l 2} */
+for (i=0;i<=M;i++) @{
+  S1 ;
+  for (j=0;j<=N;j++) @{
+    S2 ;
+    S3 ;
+  @}
+  S4 ;
+@}
+@end group
+@end example
+     In this example we can see that this option can change the operation
+     execution order between statements. Let us remind that CLooG does not
+     make any speculation on dependences between statements
+     (@pxref{Scattering}). Thus if nothing (i.e. scattering functions)
+     forbids this, CLooG considers the above codes to be equivalent.
+     If there is no scattering functions, the minimum value for @code{depth}
+     is 1 (in the case of 0, the user doesn't really need a loop generator !),
+     and the number of scattering dimensions otherwise (CLooG will warn the
+     user if he doesn't respect such constraint).
+     The maximum value for depth is -1 (infinity).
+     Default value is infinity.
+
+@node First Depth to Optimize Control
+@subsection First Depth to Optimize Control @code{-f <depth>}
+
+     @code{-f <depth>}: this option sets the first loop depth to be optimized
+     in control. The lower this depth, the less control overhead (and the longer
+     the generated code). For instance, with some input file, a user
+     can generate different pseudo-codes with different @code{depth} values
+     as shown below.
+     The minimum value for @code{depth} is 1, and the
+     maximum value is -1 (infinity).
+     Default value is 1.
+@example
+@group
+/* Generated using a given input file and @strong{option -f 3} */
+for (i=1;i<=N;i++) @{
+  for (j=1;j<=M;j++) @{
+    S1 ;
+    if (j >= 10) @{
+      S2 ;
+    @}
+  @}
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -f 2} */
+for (i=1;i<=N;i++) @{
+  for (j=1;j<=9;j++) @{
+    S1 ;
+  @}
+  for (j=10;j<=M;j++) @{
+    S1 ;
+    S2 ;
+  @}
+@}
+@end group
+@end example
+
+@node Simplify Convex Hull
+@subsection  Simplify Convex Hull @code{-sh <boolean>}
+
+     @code{-sh <boolean>}: this option enables (@code{boolean=1})
+     or forbids (@code{boolean=0}) a simplification step
+     that may simplify some constraints.
+     This option works only for generated code without
+     code duplication (it means, you have to tune @code{-f} and
+     @code{-l} options first to generate only a loop nest with internal
+     guards). For instance, with the input file @code{test/union.cloog}, a user
+     can generate different pseudo-codes  as shown below.
+     Default value is 0.
+@example
+@group
+/* Generated using test/union.cloog and @strong{option -f -1 -l 2 -override} */
+for (i=0;i<=11;i++) @{
+  for (j=max(0,5*i-50);j<=min(15,5*i+10);j++) @{
+    if ((i <= 10) && (j <= 10)) @{
+      S1 ;
+    @}
+    if ((i >= 1) && (j >= 5)) @{
+      S2 ;
+    @}
+  @}
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -sh 1 -f -1 -l 2 -override} */
+for (i=0;i<=11;i++) @{
+  for (j=0;j<=15;j++) @{
+    if ((i <= 10) && (j <= 10)) @{
+      S1 ;
+    @}
+    if ((i >= 1) && (j >= 5)) @{
+      S2 ;
+    @}
+  @}
+@}
+@end group
+@end example
+
+@node Once Time Loop Elimination
+@subsection Once Time Loop Elimination @code{-otl <boolean>}
+
+     @code{-otl <boolean>}: this option allows (@code{boolean=1}) or
+     forbids (@code{boolean=0}) the simplification of loops running
+     once. Default value is 1.
+@example
+@group
+/* Generated using a given input file and @strong{option -otl 0} */
+for (j=i+1;j<=i+1;j++) @{
+  S1 ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -otl 1} */
+j = i+1 ;
+S1 ;
+@end group
+@end example
+
+
+@node Equality Spreading 
+@subsection Equality Spreading @code{-esp <boolean>}
+
+     @code{-esp <boolean>}: this option allows (@code{boolean=1}) or
+     forbids (@code{boolean=0}) values spreading when there
+     are equalities. Default value is 0.
+@example
+@group
+/* Generated using a given input file and @strong{option -esp 0} */
+i = M+2 ;
+j = N ;
+for (k=i;k<=j+M;k++) @{
+  S1 ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -esp 1} */
+for (k=M+2;k<=N+M;k++) @{
+  S1(i = M+2, j = N) ;
+@}
+@end group
+@end example
+
+
+@node Constant Spreading 
+@subsection Constant Spreading @code{-csp <boolean>}
+
+     @code{-csp <boolean>}: this option allows (@code{boolean=1}) or
+     forbids (@code{boolean=0}) values spreading when
+     there are @emph{constant} equalities. That is, when the right member
+     of the equality is a constant term. Default value is 1.
+@example
+@group
+/* Generated using a given input file and @strong{option -csp 0} */
+i = M+2 ;
+j = N ;
+for (k=i;j<=j+M;j++) @{
+  S1 ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -csp 1} */
+i = M+2 ;
+for (k=i;k<=N+M;k++) @{
+  S1(j = N) ;
+@}
+@end group
+@end example
+
+
+@node First Level for Spreading 
+@subsection First Level for Spreading @code{-fsp <level>}
+
+     @code{-fsp <level>}: it can be useful to set a
+     first level to begin equality spreading. Particularly when using
+     scattering functions, the user may want to see the scattering dimension
+     values instead of spreading or hiding them. If user has set a
+     spreading, @code{level} is
+     the first level to start it. Default value is 1.
+@example
+@group
+/* Generated using a given input file and @strong{option -fsp 1} */
+for (j=0;j<=N+M;j++) @{
+  S1(i = N) ;
+@}
+for (j=0;j<=N+M;j++) @{
+  S1(i = M) ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -fsp 2} */
+c1 = N ;
+for (j=0;j<=c1+M;j++) @{
+  S1(i = c1) ;
+@}
+c1 = M ;
+for (j=0;j<=N+c1;j++) @{
+  S1(i = c1) ;
+@}
+@end group
+@end example
+
+
+@node C PreProcessor Friendly 
+@subsection C PreProcessor Friendly @code{-cpp <boolean>}
+
+     @code{-cpp <boolean>}: this option ask CLooG for printing a less
+     human-readable but compilable code by using the C preprocessor
+     (@code{boolean=1}). In this case each statement is written as a
+     function of the iterators corresponding to its domain dimensions:
+     @code{Si(value_of_iterator_1,...,value_of_iterator_n)}. It follows
+     that the user can easily add preprocessor macros to define each
+     statement and use the generated textual code directly for compilation.
+     When @code{boolean} is set to 0, the pretty printer has the default
+     behaviour. Default value is 0.
+@example
+@group
+/* Generated using a given input file and @strong{option -cpp 0} */
+for (j=0;j<=N+M;j++) @{
+  S1(i = N) ;
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -cpp 1} */
+/* and a preprocessor macro set by the user */
+
+#define S1(i,j) A[(j)]=3*(i)
+
+for (j=0;j<=N+M;j++) @{
+  S1(N,j) ;
+@}
+@end group
+@end example
+
+@node Statement Block  
+@subsection Statement Block @code{-block <boolean>}
+
+     @code{-block <boolean>}: this option allows (@code{boolean=1}) to
+     create a statement block for each new iterator, even if there is only
+     an equality. This can be useful in order to parse the generated
+     pseudo-code. When @code{boolean} is set to 0 or when the generation
+     language is FORTRAN, this feature is disabled. Default value is 0.
+@example
+@group
+/* Generated using a given input file and @strong{option -block 0} */
+i = M+2 ;
+j = N ;
+S1 ;
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -block 1} */
+@{ i = M+2 ;
+  @{ j = N ;
+    S1 ;
+  @}
+@}
+@end group
+@end example
+
+
+@node Loop Strides 
+@subsection Loop Strides @code{-strides <boolean>}
+
+     @code{-strides <boolean>}: this options allows (@code{boolean=1}) to
+     handle non-unit strides for loop increments. This can remove a lot of
+     guards and make the generated code more efficient. Default value is 0.
+@example
+@group
+/* Generated using a given input file and @strong{option -strides 0} */
+for (i=1;i<=n;i++) @{
+  if (i%2 == 0) @{
+    S1(j = i/2) ;
+  @}
+  if (i%4 == 0) @{
+    S2(j = i/4) ;
+  @}
+@}
+@end group
+@end example
+@example
+@group
+/* Generated using the same input file but @strong{option -strides 1} */
+for (i=2;i<=n;i+=2) @{
+  S1(j = i/2) ;
+  if (i%4 == 0) @{
+    S2(j = i/4) ;
+  @}
+@}
+@end group
+@end example
+
+@node Compilable Code
+@subsection Compilable Code @code{-compilable <value>}
+
+     @code{-compilable <value>}: this options allows (@code{value} is not 0)
+     to generate a compilable code where all parameters have the integral value
+     @code{value}. This option creates a macro for each statement. Since
+     CLooG do not know anything about the statement sources, it fills the
+     macros with a basic increment that computes the total number of
+     scanned integral points. The user may change easily the macros according
+     to his own needs. This option is possible only if the generated code is
+     in C. Default value is 0.
+@example
+@group
+/* Generated using a given input file and @strong{option -compilable 0} */
+for (i=0;i<=n;i++) @{
+  for (j=0;j<=n;j++) @{
+    S1 ;
+    S2 ;
+  @}
+  S3 ;
+@}
+@end group
+@end example
+@example
+/* Generated using the same input file but @strong{option -compilable 10} */
+/* DON'T FORGET TO USE -lm OPTION TO COMPILE. */
+
+/* Useful headers. */
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+/* Parameter value. */
+#define PARVAL 10
+
+/* Statement macros (please set). */
+#define S1(i,j) @{total++;@}
+#define S2(i,j) @{total++;@}
+#define S3(i)   @{total++;@}
+
+int main() @{
+  /* Original iterators. */
+  int i, j ;
+  /* Parameters. */
+  int n=PARVAL, total=0 ;
+
+  for (i=0;i<=n;i++) @{
+    for (j=0;j<=n;j++) @{
+      S1(i,j) ;
+      S2(i,j) ;
+    @}
+    S3(i) ;
+  @}
+
+  printf("Number of integral points: %d.\n",total) ;
+  return 0 ;
+@}
+@end example
+
+@node Output
+@subsection Output @code{-o <output>}
+
+     @code{-o <output>}: this option sets the output file. @code{stdout} is a
+     special value: when used, output is standard output.
+     Default value is @code{stdout}.
+
+@node Help
+@subsection Help @code{--help} or @code{-h}
+
+     @code{--help} or @code{-h}: this option ask CLooG to print a short help.
+
+@node Version
+@subsection Version @code{--version} or @code{-v}
+
+     @code{--version} or @code{-v}: this option ask CLooG to print some version
+     informations.
+
+
+@c %/*************************************************************************
+@c % *                           A Full Example                              *
+@c % *************************************************************************/
+@node Full Example
+@section A Full Example
+
+Let us consider the allocation problem of a Gaussian elimination, i.e. we want
+to distribute the various statement instances of the compute kernel onto
+different processors. The original code is the following:
+@example
+@group
+for (i=1;j<=N-1;i++) @{
+  for (j=i+1;j<=N;j++) @{
+    c[i][j] = a[j][i]/a[i][i] ;    /* S1 */
+    for (k=i+1;k<=N;k++) @{
+      a[j][k] -= c[i][j]*a[i][k] ; /* S2 */
+    @}
+  @}
+@}
+@end group
+@end example
+
+@noindent The best affine allocation functions can be found by any good automatic
+parallelizer like LooPo (@pxref{Gri04}):
+
+@tex
+$$
+\hbox{$ \cases{ \theta _{S1}(i,j)^T    &$=  (i)$\cr
+                \theta _{S2}(i,j,k)^T  &$=  (k)$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i,j)^T   = (i)
+T_S2(i,j,k)^T = (k)
+@end group
+@end example
+@end ifnottex
+
+@noindent To ensure that on each processor, the set of statement instances is
+executed according to the original ordering, we add as minor scattering
+dimensions the original scheduling (@pxref{Scattering}):
+
+@tex
+$$
+\hbox{$ \cases{ \theta _{S1}(i,j)^T    &$=  (i,0,i,0,j,0)^T$\cr
+                \theta _{S2}(i,j,k)^T  &$=  (k,0,i,0,j,1,k,0)^T$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i,j)^T   = (i,0,i,0,j,0)^T
+T_S2(i,j,k)^T = (k,0,i,0,j,1,k,0)^T
+@end group
+@end example
+@end ifnottex
+
+@noindent To ensure that the scattering functions have the same dimensionality, we
+complete the first function with zeroes
+(this is a CLooG @value{VERSION} and previous versions requirement,
+it should be removed in a future version, don't worry it's absolutly legal !):
+
+@tex
+$$
+\hbox{$ \cases{ \theta _{S1}(i,j)^T    &$=  (i,0,i,0,j,0,0,0)^T$\cr
+                \theta _{S2}(i,j,k)^T  &$=  (k,0,i,0,j,1,k,0)^T$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+T_S1(i,j)^T   = (i,0,i,0,j,0,0,0)^T
+T_S2(i,j,k)^T = (k,0,i,0,j,1,k,0)^T
+@end group
+@end example
+@end ifnottex
+
+@noindent The input file corresponding to this code generation problem
+could be (this file is provided in the CLooG distribution
+as @code{test/manual_gauss.cloog}:
+
+@example
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+# Context (no constraints on one parameter)
+1 3                     # 1 line and 3 columns    
+# eq/in n  1
+    1   0  0            # 0 >= 0, always true
+
+1 # We want to set manually the parameter name
+n                       # parameter name
+
+# --------------------- STATEMENTS --------------------
+2 # Number of statements
+
+1 # First statement: one domain
+4 5                     # 4 lines and 3 columns
+# eq/in i  j  n  1
+    1   1  0  0 -1      # i >= 1
+    1  -1  0  1 -1      # i <= n-1
+    1  -1  1  0 -1      # j >= i+1
+    1   0 -1  1  0      # j <= n
+0  0  0                 # for future options
+1
+# Second statement: one domain
+6 6                     # 6 lines and 3 columns
+# eq/in i  j  k  n  1
+    1   1  0  0  0 -1   # i >= 1
+    1  -1  0  0  1 -1   # i <= n-1
+    1  -1  1  0  0 -1   # j >= i+1
+    1   0 -1  0  1  0   # j <= n
+    1  -1  0  1  0 -1   # k >= i+1
+    1   0  0 -1  1  0   # k <= n
+0  0  0                 # for future options
+
+0 # We let CLooG set the iterator names
+
+# --------------------- SCATTERING --------------------
+2 # Scattering functions
+# First function
+8 13                    # 3 lines and 3 columns
+# eq/in p1 p2 p3 p4 p5 p6 p7 p8  i  j  n  1
+    0    1  0  0  0  0  0  0  0 -1  0  0  0     # p1 = i
+    0    0  1  0  0  0  0  0  0  0  0  0  0     # p2 = 0
+    0    0  0  1  0  0  0  0  0 -1  0  0  0     # p3 = i
+    0    0  0  0  1  0  0  0  0  0  0  0  0     # p4 = 0
+    0    0  0  0  0  1  0  0  0  0 -1  0  0     # p5 = j
+    0    0  0  0  0  0  1  0  0  0  0  0  0     # p6 = 0
+    0    0  0  0  0  0  0  1  0  0  0  0  0     # p7 = 0
+    0    0  0  0  0  0  0  0  1  0  0  0  0     # p8 = 0
+# Second function
+8 14                    # 3 lines and 3 columns
+# eq/in p1 p2 p3 p4 p5 p6 p7 p8  i  j  k  n  1
+    0    1  0  0  0  0  0  0  0  0  0 -1  0  0  # p1 = k
+    0    0  1  0  0  0  0  0  0  0  0  0  0  0  # p2 = 0
+    0    0  0  1  0  0  0  0  0 -1  0  0  0  0  # p3 = i
+    0    0  0  0  1  0  0  0  0  0  0  0  0  0  # p4 = 0
+    0    0  0  0  0  1  0  0  0  0 -1  0  0  0  # p5 = j
+    0    0  0  0  0  0  1  0  0  0  0  0  0 -1  # p6 = 1
+    0    0  0  0  0  0  0  1  0  0  0 -1  0  0  # p7 = k
+    0    0  0  0  0  0  0  0  1  0  0  0  0  0  # p8 = 0
+
+1 # We want to set manually the scattering dimension names
+p1 p2 p3 p4 p5 p6 p7 p8 # scattering dimension names
+@end example
+
+Calling CLooG, with for instance the command line
+@code{cloog -fsp 2 gauss.cloog} for a better view
+of the allocation (the processor number is given by @code{p1}),
+will result on the following target code that actually implements
+the transformation. A minor processing on the dimension @code{p1}
+to implement, e.g., MPI calls, which is not shown here may
+result in dramatic speedups !
+
+@example
+if (n >= 2) @{
+  p1 = 1 ;
+  for (p5=2;p5<=n;p5++) @{
+    S1(i = 1,j = p5) ;
+  @}
+@}
+for (p1=2;p1<=n-1;p1++) @{
+  for (p3=1;p3<=p1-1;p3++) @{
+    for (p5=p3+1;p5<=n;p5++) @{
+      S2(i = p3,j = p5,k = p1) ;
+    @}
+  @}
+  for (p5=p1+1;p5<=n;p5++) @{
+    S1(i = p1,j = p5) ;
+  @}
+@}
+if (n >= 2) @{
+  p1 = n ;
+  for (p3=1;p3<=n-1;p3++) @{
+    for (p5=p3+1;p5<=n;p5++) @{
+      S2(i = p3,j = p5,k = n) ;
+    @}
+  @}
+@}
+@end example
+
+
+@c %/*************************************************************************
+@c % *                           A Full Example                              *
+@c % *************************************************************************/
+@node CLooG Library
+@chapter Using the CLooG Library
+The CLooG Library was implemented to allow the user to call CLooG
+directly from his programs, without file accesses or system calls. The
+user only needs to link his programs with C libraries. The CLooG
+library mainly provides one function (@code{cloog_program_generate})
+which takes as input the problem
+description with some options, and returns the data structure corresponding
+to the generated code (a @code{CloogProgram} structure) which is more or less
+an abstract syntax tree.
+The user can work with this data structure and/or use
+our pretty printing function to write the final code in either C or FORTRAN.
+Some other functions are provided for convenience reasons.
+These functions as well as the data structures are described in this section.
+
+@menu
+* CLooG Data Structures::
+* CLooG Functions::
+* Example of Library Utilization::
+@end menu
+
+
+@node CLooG Data Structures
+@section CLooG Data Structures Description
+In this section, we describe the data structures used by the loop
+generator to represent and to process a code generation problem.
+
+@menu
+* CloogMatrix::
+* CloogDomain::
+* CloogDomainList::
+* CloogStatement::
+* CloogBlock::
+* CloogBlockList::
+* CloogLoop::
+* CloogNames::
+* CloogProgram::
+* CloogOptions::
+@end menu
+
+
+@node CloogMatrix
+@subsection CloogMatrix
+@example
+@group
+#define CloogMatrix Matrix
+@end group
+@end example
+
+@noindent The @code{CloogMatrix} structure is directly the PolyLib
+@code{Matrix} data structure (@pxref{Wil93}). This structure is devoted to
+represent a set of constraints. It is 
+defined in @code{polylib/types.h} as the following:
+
+@example
+@group
+struct matrix
+@{ unsigned NbRows ;    /* Number of rows. */
+  unsigned NbColumns ; /* Number of columns. */
+  Value ** p ;         /* Array of pointers to the matrix rows. */
+  Value * p_Init ;     /* Matrix rows contiguously in memory. */
+  int p_Init_size ;    /* For internal use. */
+@}
+typedef struct matrix Matrix;
+@end group
+@end example
+
+@noindent The whole matrix is stored in memory row after row at the
+@code{p_Init} address. @code{p} is an array of pointers where
+@code{p[i]} points to the first element of the @math{i^{th}} row.
+@code{NbRows} and @code{NbColumns} are respectively the number of
+rows and columns of the matrix. 
+Each row corresponds to a constraint. The first element of each row is an
+equality/inequality tag. The
+constraint is an equality @math{p(x) = 0} if the first element is 0, but it is
+an inequality @math{p(x) \geq 0} if the first element is 1.
+The next elements are the unknown coefficients, followed by the parameter
+coefficients, then the scalar coefficient.
+For instance, the following three constraints:
+
+@tex
+$$
+\hbox{$ \cases{ -i + m       &$= 0$\cr
+                -j + n       &$\geq 0$\cr
+                 j + i - k   &$\geq 0$}$}
+$$
+@end tex
+
+@ifnottex
+@example
+@group
+    -i + m  = 0
+    -j + n >= 0
+ i + j - k >= 0
+@end group
+@end example
+@end ifnottex
+
+@noindent would be represented by the following rows:
+
+@example
+@group
+# eq/in  i   j   k   m   n   cst
+    0    0  -1   0   1   0    0 
+    1   -1   0   0   0   1    0 
+    1    1   1  -1   0   0    0 
+@end group
+@end example
+
+@noindent To be able to provide different precision version (CLooG
+supports 32 bits, 64 bits and arbitrary precision through the GMP library),
+the @code{Value} type depends on the configuration options (it may be
+@code{long int} for 32 bits version, @code{long long int} for 64 bits version,
+and @code{mpz_t} for multiple precision version).
+The @code{p_Init_size} field is needed by the PolyLib to free
+the memory allocated by @code{mpz_init} in the multiple precision release.
+Set this field to 0 if you are @emph{not} using multiple precision.
+Set this field to the size of the @code{p_Init} array if you
+initialized it yourself and if you are using the multiple precision version.
+
+
+@node CloogDomain
+@subsection CloogDomain
+@example
+@group
+struct cloogdomain
+@{ Polyhedron * polyhedron ;  /* The polyhedral domain. */
+@} ;
+typedef struct cloogdomain CloogDomain ;
+@end group
+@end example
+
+@noindent The @code{CloogDomain} structure contains a PolyLib
+@code{Polyhedron} data structure which represents a polyhedral domain
+(a union of polyhedra) in both constraint representation and its dual
+ray representation (@pxref{Wil93}).
+It is defined in @code{polylib/types.h} as the following:
+
+@example
+@group
+struct polyhedron
+@{ unsigned Dimension,        /* Number of dimensions. */
+           NbConstraints,    /* Number of constraints. */
+           NbRays,           /* Number of rays. */
+           NbEq,             /* Number of vertices (?). */
+           NbBid ;           /* Number of extremal rays (?). */
+  Value ** Constraint ;      /* Pointers to constraints. */
+  Value ** Ray ;             /* Pointers to rays. */
+  Value * p_Init ;           /* Constraints and rays contiguously. */
+  int p_Init_size ;          /* For internal use. */
+  struct polyhedron * next ; /* Next component of the union. */
+@}
+typedef struct polyhedron Polyhedron;
+@end group
+@end example
+
+@noindent The constraint representation is quite the same as in
+the @code{Matrix} data structure (@pxref{CloogMatrix}). The number of
+rows is @code{NbConstraints} and the
+number of columns in the @code{Polyhedron} structure is
+@code{Dimension+2} (the @math{+2} comes from the equality/inequality
+tag and the scalar coefficient). As in the @code{Matrix} structure,
+The data are stored in memory contiguously at the
+@code{p_Init} address and the @code{p_Init_size} field is used for
+memory deallocation in the multiple precision case (@pxref{CloogMatrix}).
+For a better understanding of the
+dual ray representation, the user may refer to the PolyLib documentation.
+
+
+@node CloogDomainList
+@subsection CloogDomainList
+@example
+@group
+struct cloogdomainlist
+@{ CloogDomain * domain ;
+  struct cloogdomainlist * next ;
+@} ;
+typedef struct cloogdomainlist CloogDomainList ;
+@end group
+@end example
+
+@noindent The CloogDomainList structure represents a @code{NULL} terminated linked list
+of domains.
+
+
+@node CloogStatement
+@subsection CloogStatement
+@example
+@group
+struct cloogstatement
+@{ int number ;                  /* The statement unique number. */
+  void * usr ;                  /* Pointer for user's convenience. */
+  struct cloogstatement * next ;/* Next element of the linked list. */
+@} ;
+typedef struct cloogstatement CloogStatement ;
+@end group
+@end example
+
+@noindent The @code{CloogStatement} structure represents a @code{NULL}
+terminated linked
+list of statements. In CLooG, a statement is only defined by its unique
+number (@code{number}). The user can use the pointer @code{usr} for his
+own convenience to link his own statement representation to the
+corresponding @code{CloogStatement} structure. The whole management of the
+@code{usr} pointer is under the responsibility of the user, in particular,
+CLooG never tries to print, to allocate or to free a memory block pointed
+by @code{usr}. 
+
+
+@node CloogBlock
+@subsection CloogBlock
+@example
+@group
+struct cloogblock
+@{ CloogStatement * statement ; /* Statement list of the block. */
+  CloogMatrix * scattering ;   /* Scattering function of the block. */
+  int depth ;                  /* Original block depth.*/
+  void * usr;                  /* Pointer for user's convenience. */
+@} ;
+typedef struct cloogblock CloogBlock ;
+@end group
+@end example
+
+@noindent The @code{CloogBlock} structure represents a statement block.
+In a statement block, every statements have the same iteration
+domain and the same scattering function (actually, the scattering
+functions may differ only by a scalar
+coefficient if it just precises the ordering of the statements within
+the block). @code{statement} is the statement list where the
+statement order matters, @code{scattering} is one of
+the statement scattering functions and
+@code{depth} is the number of dimensions of the
+iteration domain (only the unknown, not the tag/parameters/scalar).
+@code{usr} is a pointer for library user's convenience. Note this pointer
+is never allocated, freed or printed by CLooG.
+
+@node CloogBlockList
+@subsection CloogBlockList
+@example
+@group
+struct cloogdblocklist
+@{ CloogBlock * block ;
+  struct cloogblocklist * next ;
+@} ;
+typedef struct cloogblocklist CloogBlockList ;
+@end group
+@end example
+
+@noindent The CloogBlockList structure represents a @code{NULL} terminated linked list
+of blocks.
+
+
+@node CloogLoop
+@subsection CloogLoop 
+@example
+@group
+struct cloogloop
+@{ CloogDomain * domain;       /* Iteration domain. */
+  Value stride ;               /* Loop stride. */
+  CloogBlock * block ;         /* Included statement block.*/
+  void * usr;                  /* Pointer for user's convenience. */
+  struct cloogloop * inner ;   /* Loop at the next level. */
+  struct cloogloop * next ;    /* Next loop at the same level. */
+@} ;
+typedef struct cloogloop CloogLoop ;
+@end group
+@end example
+
+@noindent The @code{CloogLoop} structure represents a loop.
+First of all, a
+loop has an iteration domain (@code{domain}). The iterator's stride for loop
+increment is @code{stride}. The loop can include a statement block
+in the field @code{block}. If there is no included statement block,
+@code{block} is set to @code{NULL}. @code{usr} is a pointer for library
+user's convenience. Note that this pointer is never allocated, freed or
+printed by CLooG. @code{inner} is a pointer to the inner
+loop, and @code{next} a pointer to the next loop in the textual order. If
+there are no inner loop or no next loop, the corresponding pointer is set
+to @code{NULL}.
+
+
+@node CloogNames
+@subsection CloogNames
+@example
+@group
+struct cloognames
+@{ int nb_scattering ;         /* Scattering dimension number. */
+  int nb_iterators ;          /* Iterator number. */
+  int nb_parameters ;         /* Parameter number. */
+  char ** scattering ;        /* The scattering dimension names. */
+  char ** iterators ;         /* The iterator names. */
+  char ** parameters ;        /* The parameter names. */
+@} ;
+typedef struct cloognames CloogNames ;
+@end group
+@end example
+
+@noindent The @code{CloogNames} structure represents the scattering dimension,
+the iterator and the parameter names in the final program.
+@code{nb_scattering} 
+(respectively @code{nb_iterators} and @code{nb_parameters})
+is the number of scattering dimensions number
+(respectively the iterator and parameter number)
+and of elements in the corresponding array of strings
+@code{scattering}
+(respectively @code{iterators} and @code{parameters}).
+The @math{i^{th}} scattering dimension name will be associated with the
+to the dimension @math{i} of the scattering function.
+The @math{i^{th}} iterator name will be associated with the
+dimension @math{i} of the iteration domain. 
+The @math{i^{th}} parameter name will be associated with the
+dimension @math{i} of the context polyhedron.
+The user has to ensure that there are
+enough scattering dimension, iterator and parameter names. 
+
+
+@node CloogProgram
+@subsection CloogProgram
+@example
+@group
+struct cloogprogram
+@{ char language ;              /* The language of the program. */
+  int  nb_scattdims ;          /* Scattering dimension number. */
+  CloogNames  * names ;        /* Iterators and parameters names. */
+  CloogDomain * context ;      /* The context of the program. */
+  CloogLoop   * loop ;         /* The loops of the program. */
+  CloogBlockList * blocklist ; /* The statement block list. */
+  void * usr;                  /* For library user's convenience. */
+@} ;
+typedef struct cloogprogram CloogProgram ;
+@end group
+@end example
+
+@noindent The @code{CloogProgram} structure represents a static control program kernel.
+@code{language} precises the language (@code{c} for C or @code{f} for FORTRAN).
+@code{nb_scattdims} gives the number of scattering dimensions.
+@code{context} is a pointer to the constraints on the program parameters,
+it can't be the
+@code{NULL} pointer even if there are no constraints on parameters. In such a
+case, set a polyhedron with as many dimensions as there are parameters, with
+an @emph{always true} constraint like @math{1 \geq 0} (this is necessary
+since the number of parameters is deduced from the dimension number of
+the context constraints). @code{loop} is a pointer
+to the first loop of the program. @code{names} is a pointer to the various
+element names (scattering dimension, iterators, parameters)
+of the final program. @code{names} can be the @code{NULL}
+pointer if the user do not want to use our pretty printing function.
+@code{blocklist} is the linked list of all the statement block structures.
+@code{usr} is a pointer for library user's convenience. Note that this pointer
+is never allocated, freed or printed by CLooG.
+As an example, let us consider the following loop nest:
+@example
+@group
+for (i=0; i<=n; i++) @{ 
+  for (j=0; j<=n; j++) @{
+    S1 ;
+    S2 ;
+  @}
+  for (j=n+1; j<=2*n; j++) @{
+    S3 ;
+  @}
+@}  
+@end group
+@end example
+@noindent The next figure gives a possible representation in memory for this
+program thanks to the CLooG data structures (it has been actually printed
+by the @code{cloog_program_print} function). In this figure,
+@samp{+-- CloogLoop} denotes an @samp{inner} loop, while a @samp{CloogLoop}
+on the same column pointed by an arrow denotes a @samp{next} loop:
+
+@smallexample
++-- CloogProgram
+|       |       
+|       Language: c
+|       |       
+|       Scattering dimension number: 0
+|       |       
+|       +-- CloogNames
+|       |       |       
+|       |       Scattering dimension number: 0
+|       |       |       
+|       |       +-- No scattering string
+|       |       |       
+|       |       Iterator number -----------: 2
+|       |       |       
+|       |       +-- Iterator strings ------: i j
+|       |       |       
+|       |       Parameter number ----------: 1
+|       |       |       
+|       |       +-- Parameter strings -----: n
+|       |       
+|       +-- Context
+|       |       [   1    1   -2  ]
+|       |       [   1    0    1  ]
+|       |       
+|       +-- CloogLoop
+|       |       |       
+|       |       +-- CloogDomain
+|       |       |       [   1   -1    1    0  ]
+|       |       |       [   1    1    0    0  ]
+|       |       |       [   1    0    0    1  ]
+|       |       |       
+|       |       Stride: 1
+|       |       |       
+|       |       +-- Null CloogBlock
+|       |       |       
+|       |       +-- CloogLoop
+|       |       |       |       
+|       |       |       +-- CloogDomain
+|       |       |       |       [   1    0    1    0    0  ]
+|       |       |       |       [   1    0   -1    1    0  ]
+|       |       |       |       [   1    0    0    0    1  ]
+|       |       |       |       
+|       |       |       Stride: 1
+|       |       |       |       
+|       |       |       +-- Null CloogBlock
+|       |       |       |       
+|       |       |       +-- CloogLoop
+|       |       |       |       |       
+|       |       |       |       +-- CloogDomain
+|       |       |       |       |       [   1    0    0    0    1  ]
+|       |       |       |       |       
+|       |       |       |       Stride: 1
+|       |       |       |       |       
+|       |       |       |       +-- CloogBlock
+|       |       |       |       |       |       
+|       |       |       |       |       +-- CloogStatement 1 
+|       |       |       |       |       |          |   
+|       |       |       |       |       |          V   
+|       |       |       |       |       |   CloogStatement 2 
+|       |       |       |       |       |       
+|       |       |       |       |       +-- Null scattering function
+|       |       |       |       |       |       
+|       |       |       |       |       Depth: 2
+|       |       |       |       |       
+|       |       |       |       
+|       |       |       V
+|       |       |   CloogLoop
+|       |       |       |       
+|       |       |       +-- CloogDomain
+|       |       |       |       [   1    0   -1    2    0  ]
+|       |       |       |       [   1    0    1   -1   -1  ]
+|       |       |       |       [   1    0    0    0    1  ]
+|       |       |       |       
+|       |       |       Stride: 1
+|       |       |       |       
+|       |       |       +-- Null CloogBlock
+|       |       |       |       
+|       |       |       +-- CloogLoop
+|       |       |       |       |       
+|       |       |       |       +-- CloogDomain
+|       |       |       |       |       [   1    0    0    0    1  ]
+|       |       |       |       |       
+|       |       |       |       Stride: 1
+|       |       |       |       |       
+|       |       |       |       +-- CloogBlock
+|       |       |       |       |       |       
+|       |       |       |       |       +-- CloogStatement 3 
+|       |       |       |       |       |       
+|       |       |       |       |       +-- Null scattering function
+|       |       |       |       |       |       
+|       |       |       |       |       Depth: 2
+|       |       |       |       |       
+|       |       |       |       
+|       |       |       
+|       |       
+|       
+@end smallexample
+
+
+@node CloogOptions
+@subsection CloogOptions
+@example
+@group
+struct cloogoptions
+@{ int l ;                     /* -l option.          */
+  int f ;                     /* -f option.          */
+  int strides ;               /* -strides option.    */
+  int sh ;                    /* -sh option.         */
+  int esp ;                   /* -esp option.        */
+  int csp ;                   /* -csp option.        */
+  int fsp ;                   /* -fsp option.        */
+  int otl ;                   /* -otl option.        */
+  int block ;                 /* -block option.      */
+  int cpp ;                   /* -cpp option.        */
+  int compilable ;            /* -compilable option. */
+@} ;
+typedef struct cloogoptions CloogOptions ;
+@end group
+@end example
+
+@noindent The @code{CloogOptions} structure contains all the possible options to
+rule CLooG's behaviour (@pxref{Calling CLooG}).
+As a reminder, the default values are:
+@itemize @bullet
+@item @math{l = -1} (optimize control until the innermost loops),
+@item @math{f = 1} (optimize control from the outermost loops),
+@item @math{strides = 0} (use only unit strides),
+@item @math{sh = 0} (do not simplify convex hulls),
+@item @math{esp = 0} (do not spread complex equalities),
+@item @math{csp = 1} (spread constant values),
+@item @math{fsp = 1} (start to spread from the first iterators),
+@item @math{otl = 1} (simplify loops running only once).
+@item @math{block = 0} (do not make statement blocks when not necessary).
+@item @math{cpp = 0} (do not generate a compilable part of code using preprocessor).
+@item @math{compilable = 0} (do not generate a compilable code).
+@end itemize 
+
+
+@node CLooG Functions
+@section CLooG Functions Description
+
+@menu
+* cloog_program_generate::
+* cloog_program_scatter::
+* cloog_program_pprint::
+* cloog_program_read::
+* From Matrices to Domains and Conversely::
+* Allocation and Initialization Functions::
+* Memory Deallocation Functions::
+* Printing Functions::
+@end menu
+
+
+@node cloog_program_generate
+@subsection cloog_program_generate
+@example
+@group
+CloogProgram   * cloog_program_generate
+( CloogProgram * program,       /* Input program. */
+  CloogOptions * options        /* Options. */
+) ;
+@end group
+@end example
+
+@noindent The @code{cloog_program_generate} function generates
+the data structure of the source code that scans the input
+polyhedra pointed by @code{program}
+according to the options pointed by @code{options}.
+The process is made directly on the input structure pointed by
+@code{program}, thus the original structure is no longer available
+after a call to this function. It returns a pointer to a
+@code{CloogProgram} structure containing the
+solution in CLooG structures.
+
+The input @code{CloogProgram} structure must have only one loop level
+(no inner loops): there is one loop per statement block. For a given block,
+the corresponding loop carries the iteration domain, the statement block,
+and a loop stride initialized to 1. For instance, the input @code{CloogProgram} structure
+that have been sent to @code{cloog_program_generate} to achieve the final
+structure and code shown as example in the @code{CloogProgram} structure
+description (@pxref{CloogProgram}) was the following one:
+
+@smallexample
++-- CloogProgram
+|       |       
+|       Language: c
+|       |       
+|       Scattering dimension number: 0
+|       |       
+|       +-- CloogNames
+|       |       |       
+|       |       Scattering dimension number: 0
+|       |       |       
+|       |       +-- No scattering string
+|       |       |       
+|       |       Iterator number -----------: 2
+|       |       |       
+|       |       +-- Iterator strings ------: i j
+|       |       |       
+|       |       Parameter number ----------: 1
+|       |       |       
+|       |       +-- Parameter strings -----: n
+|       |       
+|       +-- Context
+|       |       [    1     1    -2  ]
+|       |       
+|       +-- CloogLoop
+|       |       |       
+|       |       +-- CloogDomain
+|       |       |       [    1     1     0     0     0  ]
+|       |       |       [    1    -1     0     1     0  ]
+|       |       |       [    1     0     1     0     0  ]
+|       |       |       [    1     0    -1     1     0  ]
+|       |       |       
+|       |       Stride: 1
+|       |       |       
+|       |       +-- CloogBlock
+|       |       |       |       
+|       |       |       +-- CloogStatement 1 
+|       |       |       |          |
+|       |       |       |          V
+|       |       |       |   CloogStatement 2 
+|       |       |       |       
+|       |       |       +-- Null scattering function
+|       |       |       |       
+|       |       |       Depth: 2
+|       |       |       
+|       |       V
+|       |   CloogLoop
+|       |       |       
+|       |       +-- CloogDomain
+|       |       |       [    1     1     0     0     0  ]
+|       |       |       [    1    -1     0     1     0  ]
+|       |       |       [    1     0     1    -1    -1  ]
+|       |       |       [    1     0    -1     2     0  ]
+|       |       |       
+|       |       Stride: 1
+|       |       |       
+|       |       +-- CloogBlock
+|       |       |       |       
+|       |       |       +-- CloogStatement 3 
+|       |       |       |       
+|       |       |       +-- Null scattering function
+|       |       |       |       
+|       |       |       Depth: 2
+|       |       |       
+|       |       
+|       
+@end smallexample
+
+
+@node cloog_program_pprint
+@subsection cloog_program_pprint
+@example
+@group
+void cloog_program_pprint
+( FILE * file,                  /* Output file. */
+  CloogProgram * program,       /* Program to print. */
+  CloogOptions * options        /* Options. */
+) ;
+@end group
+@end example
+
+@noindent The function @code{cloog_program_pprint} is a pretty printer for
+@code{CloogProgram} structures when it is a solution provided by
+the @code{cloog_program_generate} function. It prints the code or pseudo-code in the
+file pointed by @code{file} (possibly @code{stdout}) with regards to the
+options pointed by @code{options}.
+
+
+@node cloog_program_scatter
+@subsection cloog_program_scatter
+@example
+@group
+void cloog_program_scatter
+( CloogProgram * program,       /* Input program. */
+  CloogDomainList * scattering, /* Additional scattering functions. */
+  char ** names ;               /* Additional dimension names. */
+) ;
+@end group
+@end example
+
+@noindent The function @code{cloog_program_scatter} applies scattering
+functions to the @code{CloogProgram} structure pointed by @code{program}.
+Original domains of @code{program} are freed. Scattering functions
+are inside the @code{CloogDomainList} structure pointed by @code{scattering}.
+There must be as many scattering functions in the @code{CloogDomainList}
+structure as loops (i.e. iteration domains) in the @code{CloogProgram}
+structure. The first scattering function of the list will be applied to the
+iteration domain of the first loop in the program, and so on.
+@code{names} gives the scattering dimension names as an array of strings. If
+@code{names} is @code{NULL}, names are automatically generated: the name of
+the @math{n^{th}} scattering dimension will be @code{cn}.
+
+
+@node cloog_program_read
+@subsection cloog_program_read
+@example
+CloogProgram * cloog_program_read(FILE *) ;
+@end example
+@noindent The @code{cloog_program_read} function
+reads the program data from a CLooG input file
+(@pxref{Writing The Input File}). It takes
+as input a pointer to the file it has to read (possibly @code{stdin}), and
+return a pointer to the read @code{CloogProgram} structure.
+
+
+@node From Matrices to Domains and Conversely
+@subsection From Matrices to Domains and Conversely
+@example
+CloogMatrix * cloog_domain_domain2matrix(CloogDomain *) ;
+CloogDomain * cloog_domain_matrix2domain(CloogMatrix *) ;
+@end example
+@noindent Two functions are provided to translate a @code{CloogDomain}
+data structure to a @code{CloogMatrix} data structure and conversely.
+Each function takes as input a pointer to the data structure to translate
+and returns as output a pointer to the translated data structure. The
+input data structure if neither modified nor freed. They
+may be quite useful for e.g. pretty printing since it is more convenient
+in constraint (matrix) representation.
+
+
+@node Allocation and Initialization Functions
+@subsection Allocation and Initialization Functions
+@example
+CloogStructure * cloog_structure_malloc() ;
+@end example
+@noindent Each CLooG data structure has an allocation and initialization
+function as shown above, where @code{Structure} and @code{structure} have to
+be replaced by the name of the convenient structure (without @samp{Cloog} prefix) for
+instance @code{CloogLoop * cloog_loop_malloc() ;}. These functions return
+pointers to an allocated structure with fields set to convenient default
+values. @strong{Using those functions is mandatory} to support internal
+management fields and to avoid upward compatibility problems if
+new fields appear. An exception is @code{cloog_matrix_malloc} since the
+@code{CloogMatrix} comes directly from the PolyLib. It takes two parameters:
+the number of rows and columns of the matrix we want to allocate:
+@example
+CloogMatrix * cloog_matrix_malloc(unsigned nbrows, unsigned nbcolumns);
+@end example
+
+
+@node Memory Deallocation Functions
+@subsection Memory Deallocation Functions
+@example
+void cloog_structure_free(CloogStructure *) ;
+@end example
+@noindent Each CLooG data structure has a deallocation function as shown above,
+ where @code{Structure} and @code{structure} have to
+be replaced by the name of the convenient structure (without @samp{Cloog} prefix) for
+instance @code{void cloog_loop_free(CloogLoop *) ;}. These functions
+free the allocated memory for the structure provided as input. They free
+memory recursively, i.e. they also free the allocated memory for the internal
+structures.
+@strong{Using those functions is mandatory} to avoid memory leaks on internal
+management fields and to avoid upward compatibility problems if
+new fields appear.
+
+
+@node Printing Functions
+@subsection Printing Functions
+@example
+void cloog_structure_print(FILE *, CloogStructure *) ;
+@end example
+@noindent Each CLooG data structure has a printing function as shown above,
+ where @code{Structure} and @code{structure} have to
+be replaced by the name of the convenient structure (without @samp{Cloog} prefix) for
+instance @code{void cloog_loop_print(FILE *, CloogLoop *) ;}. These functions
+print the pointed structure (and its fields recursively) to the file provided
+as input (possibly @code{stdout}).
+
+
+@node Example of Library Utilization
+@section Example of Library Utilization
+Here is a basic example showing how it is possible to use the CLooG library,
+assuming that a standard installation has been done.
+The following C program reads a CLooG input file on the standard input,
+then prints the solution on the standard output.
+Options are preselected to the default values of the CLooG software.
+This example is provided in the @code{example} directory of the
+CLooG distribution.
+@example
+/* example.c */
+# include <stdio.h>
+# include <cloog/cloog.h>
+
+int main()
+@{ CloogProgram * program ;
+  CloogOptions * options ;
+  
+  /* Setting options and reading program informations. */
+  options = cloog_options_malloc() ;
+  program = cloog_program_read(stdin,options) ;
+
+  /* Generating and printing the code. */
+  program = cloog_program_generate(program,options) ;
+  cloog_program_pprint(stdout,program,options) ;
+
+  cloog_options_free(options) ;
+  cloog_program_free(program) ;
+  return 0;
+@}
+@end example
+
+@noindent The compilation command could be:
+@example
+gcc example.c -lcloog -o example
+@end example
+@noindent A calling command with the input file test.cloog could be:
+@example
+more test.cloog | ./example
+@end example
+
+
+@c %  ******************************** HACKING *********************************
+@c @node Hacking
+@c @chapter Hacking CLooG
+
+@c @menu
+@c * Program organization::
+@c * Special Options::
+@c * CLooG Coding Standards::
+@c @end menu
+
+@c @node Program organization
+@c @section Program organization
+
+@c @node Special Options
+@c @section Special Options
+
+@c @node CLooG Coding Standards
+@c @section CLooG Coding Standards
+
+
+@c %  ****************************** INSTALLING ********************************
+@node Installing
+@chapter Installing CLooG
+
+@menu
+* License::
+* Requirements::
+* Basic Installation::
+* Optional Features::
+* Uninstallation::
+@end menu
+
+@node License
+@section License
+First of all, it would be very kind to refer the following paper in any
+publication that result from the use of the CLooG software or its library,
+@pxref{Bas04} (a bibtex entry is provided behind the title page of this
+manual, along with copyright notice, and in the CLooG home
+@code{http://www.CLooG.org}.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License version 2
+as published by the Free Software Foundation.
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+@code{http://www.gnu.org/copyleft/gpl.html}
+
+
+@node Requirements
+@section Requirements
+
+@menu
+* PolyLib::
+* GMP Library::
+@end menu
+
+
+@node PolyLib
+@subsection PolyLib (mandatory)
+To successfully install CLooG, the user need firstly to install PolyLib
+version 5.22.1 or above (default 64 bits version is satisfying
+as well as 32 bits or GMP multiple precision version).
+Polylib can be downloaded freely
+at @code{http://icps.u-strasbg.fr/PolyLib/} or
+@code{http://www.irisa.fr/polylib/}. Once downloaded and unpacked
+(e.g. using the @samp{tar -zxvf polylib-5.22.1.tar.gz} command),
+the user can compile
+it by typing the following commands on the PolyLib's root directory:
+
+@itemize @bullet
+@item @code{./configure}
+@item @code{make}
+@item And as root: @code{make install}
+@end itemize
+
+The PolyLib default installation is @code{/usr/local}. This directory may
+not be inside your library path. To fix the problem, the user should set
+@example
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
+@end example
+@noindent if your shell is, e.g., bash or
+@example
+setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/lib
+@end example
+@noindent if your shell is, e.g., tcsh. Add the line to your .bashrc or .tcshrc (or
+whatever convenient file) to make this change permanent. Another solution
+is to ask PolyLib to install in the standard path by using the prefix
+option of the configure script:
+@samp{./configure --prefix=/usr}.
+
+CLooG makes intensive calls to polyhedral operations, and PolyLib
+functions do the job. Polylib is a free library written in C for the
+manipulation of polyhedra. The library is operating on objects like
+vectors, matrices, lattices, polyhedra, Z-polyhedra, unions of
+polyhedra and a lot of other intermediary structures. It provides
+functions for all the important operations on these structures. 
+
+@node GMP Library
+@subsection GMP Library (optional)
+
+To be able to deal with insanely large coefficient, the user will need to
+install the GNU Multiple Precision Library (GMP for short) version 4.1.4
+or above. It can be freely downloaded from @code{http://www.swox.com/gmp}.
+The user can compile it by typing the following commands on the GMP root
+directory:
+
+@itemize @bullet
+@item @code{./configure}
+@item @code{make}
+@item And as root: @code{make install}
+@end itemize
+
+The GMP default installation is @code{/usr/local}, the same method to
+fix a library path problem applies as with PolyLib (@pxref{PolyLib}).
+
+The PolyLib has to be built using the GMP library by specifying the option
+@samp{--with-libgmp=PATH_TO_GMP} to the PolyLib configure script
+(where @code{PATH_TO_GMP} is @code{/usr/local} if you did not change the GMP
+installation directory). Then you have to set the convenient CLooG configure
+script options to buid the GMP version (@pxref{Optional Features}).
+
+
+@node Basic Installation
+@section CLooG Basic Installation
+
+Once downloaded and unpacked
+(e.g. using the @samp{tar -zxvf cloog-@value{VERSION}.tar.gz} command),
+you can compile CLooG by typing the following commands on the CLooG's root
+directory:
+
+@itemize @bullet
+@item @code{./configure}
+@item @code{make}
+@item And as root: @code{make install}
+@end itemize
+
+Depending on the location of the PolyLib, you may need to set the
+option @code{--with-polylib} of the configure script
+(e.g. @samp{./configure --with-polylib=/usr/local} with a default PolyLib
+installation).
+
+The program binaries and object files can be removed from the
+source code directory by typing @code{make clean}. To also remove the
+files that the @code{configure} script created (so you can compile the
+package for a different kind of computer) type @code{make distclean}.
+
+Both the CLooG software and library have been successfully compiled
+on the following systems:
+@itemize @bullet
+@item PC's under Linux, with the @code{gcc} compiler,
+@item PC's under Windows (Cygwin), with the @code{gcc} compiler,
+@item Sparc and UltraSparc Stations, with the @code{gcc} compiler.
+@end itemize
+
+@node Optional Features 
+@section Optional Features  
+The @code{configure} shell script attempts to guess correct values for
+various system-dependent variables and user options used during compilation.
+It uses those values to create the @code{Makefile}. Various user options
+are provided by the CLooG's configure script. They are summarized in the
+following list and may be printed by typing @code{./configure --help} in the
+CLooG top-level directory.
+
+@itemize @bullet
+@item By default, the installation directory is @code{/usr/local}:
+@code{make install} will install the package's files in
+@code{/usr/local/bin}, @code{/usr/local/lib} and @code{/usr/local/include}.
+The user can specify an installation prefix other than @code{/usr/local} by
+giving @code{configure} the option @code{--prefix=PATH}.
+
+@item By default, @code{configure} will look for the PolyLib in standard
+locations. If necessary, the user can specify the PolyLib path by giving
+@code{configure} the option @code{--with-polylib=PATH}.
+
+@item By default, both CLooG software and library are compiled and installed.
+By giving  @code{configure} the option @code{--without-cloog} the user
+disable the compilation and installation of the CLooG software.
+By giving @code{configure} the option
+@code{--without-lib} the user disable the compilation and installation of the
+CLooG library.
+
+@item By default, CLooG is built in 64bits version if such version of the
+PolyLib is found by @code{configure}. If the only existing version of the
+PolyLib is the 32bits or if the user give to @code{configure} the option
+@code{--with-bits=32}, the 32bits version of CLooG will be compiled. In the
+same way, the option @code{--with-bits=gmp} have to be used to build
+the multiple precision version.
+
+@item By default, @code{configure} will look for the GMP library
+(necessary to build the multiple precision version) in standard
+locations. If necessary, the user can specify the GMP path by giving
+@code{configure} the option @code{--with-gmp=PATH}.
+@end itemize
+
+@node Uninstallation 
+@section Uninstallation  
+The user can easily remove the CLooG software and library from his system
+by typing (as root if necessary) from the CLooG top-level directory
+@code{make uninstall}.
+
+@c %  **************************** DOCUMENTATION ******************************
+@node Documentation
+@chapter Documentation
+The CLooG distribution provides several documentation sources. First, the
+source code itself is as documented as possible. The code comments use a
+Doxygen-compatible presentation (something similar to what JavaDoc does for
+JAVA). The user may install Doxygen
+(see @code{http://www.stack.nl/~dimitri/doxygen}) to automatically
+generate a technical documentation by typing @code{make doc} or
+@code{doxygen ./autoconf/Doxyfile} at the CLooG top-level directory after
+running the configure script (@pxref{Installing}). Doxygen will generate
+documentation sources (in HTML, LaTeX and man) in the @code{doc/source}
+directory of the CLooG distribution.
+
+The Texinfo sources of the present document are also provided in the @code{doc}
+directory. You can build it in either DVI format (by typing
+@code{texi2dvi cloog.texi}) or PDF format
+(by typing @code{texi2pdf cloog.texi}) or HTML format
+(by typing @code{makeinfo --html cloog.texi}, using @code{--no-split}
+option to generate a single HTML file) or info format
+(by typing @code{makeinfo cloog.texi}).
+
+@c %  ****************************** REFERENCES ********************************
+@node References
+@chapter References
+
+@itemize
+@item
+@anchor{Bas03a}[Bas03a] C. Bastoul, P. Feautrier. Improving data locality
+by chunking. CC'12 International Conference on Compiler Construction,
+LNCS 2622, pages 320-335, Warsaw, april 2003. 
+
+@item
+@anchor{Bas03b}[Bas03b] C. Bastoul. Efficient code generation for automatic
+parallelization and optimization. ISPDC'03 IEEE International Symposium on
+Parallel and Distributed Computing, pages 23-30, Ljubljana, october 2003. 
+
+@item
+@anchor{Bas04}[Bas04] C. Bastoul. Code Generation in the Polyhedral Model
+Is Easier Than You Think. PACT'13 IEEE International Conference on Parallel
+Architecture and Compilation Techniques, pages 7-16, Juan-les-Pins,
+september 2004.
+
+@item
+@anchor{Fea92}[Fea92] P. Feautrier Some efficient solutions to the affine
+scheduling problem, part II: multidimensional time.
+International Journal of Parallel Programming, 21(6):389--420, December 1992.
+
+@item
+@anchor{Gri04}[Gri04] M. Griebl. Automatic parallelization of loop programs
+for distributed memory architectures. Habilitation Thesis. Facult@"at f@"ur
+Mathematik und Informatik, Universit@"at Passau, 2004.
+@emph{http://www.infosun.fmi.uni-passau.de/cl/loopo/}
+
+@item
+@anchor{Qui00}[Qui00] F. Quiller@'e, S. Rajopadhye, and D. Wilde.
+Generation of efficient nested loops from polyhedra.
+International Journal of Parallel Programming, 28(5):469-498,
+october 2000.
+
+@item
+@anchor{Wil93}[Wil93] Doran K. Wilde.
+A library for doing polyhedral operations.
+Technical Report 785, IRISA, Rennes, France, 1993.
+
+@end itemize
+
+
+
+
+@c % /*************************************************************************
+@c %  *                       PART VI: END OF THE DOCUMENT                    *
+@c %  *************************************************************************/
+@c @unnumbered Index
+     
+@c @printindex cp
+     
+@bye
diff --git a/doc/gitversion.texi b/doc/gitversion.texi
new file mode 100644 (file)
index 0000000..89b002b
--- /dev/null
@@ -0,0 +1 @@
+@set VERSION 
diff --git a/doc/images/basic.eps b/doc/images/basic.eps
new file mode 100644 (file)
index 0000000..0cc0497
--- /dev/null
@@ -0,0 +1,402 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: basic.fig
+%%Creator: fig2dev Version 3.2 Patchlevel 4
+%%CreationDate: Thu Nov 17 16:54:54 2005
+%%For: bastoul@ulysse.futurs.inria.fr (Cedric Bastoul)
+%%BoundingBox: 0 0 445 301
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 301 moveto 0 0 lineto 445 0 lineto 445 301 lineto closepath clip newpath
+-153.0 333.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+/reencdict 12 dict def /ReEncode { reencdict begin
+/newcodesandnames exch def /newfontname exch def /basefontname exch def
+/basefontdict basefontname findfont def /newfont basefontdict maxlength dict def
+basefontdict { exch dup /FID ne { dup /Encoding eq
+{ exch dup length array copy newfont 3 1 roll put }
+{ exch newfont 3 1 roll put } ifelse } { pop pop } ifelse } forall
+newfont /FontName newfontname put newcodesandnames aload pop
+128 1 255 { newfont /Encoding get exch /.notdef put } for
+newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
+newfontname newfont definefont pop end } def
+/isovec [
+8#055 /minus 8#200 /grave 8#201 /acute 8#202 /circumflex 8#203 /tilde
+8#204 /macron 8#205 /breve 8#206 /dotaccent 8#207 /dieresis
+8#210 /ring 8#211 /cedilla 8#212 /hungarumlaut 8#213 /ogonek 8#214 /caron
+8#220 /dotlessi 8#230 /oe 8#231 /OE
+8#240 /space 8#241 /exclamdown 8#242 /cent 8#243 /sterling
+8#244 /currency 8#245 /yen 8#246 /brokenbar 8#247 /section 8#250 /dieresis
+8#251 /copyright 8#252 /ordfeminine 8#253 /guillemotleft 8#254 /logicalnot
+8#255 /hyphen 8#256 /registered 8#257 /macron 8#260 /degree 8#261 /plusminus
+8#262 /twosuperior 8#263 /threesuperior 8#264 /acute 8#265 /mu 8#266 /paragraph
+8#267 /periodcentered 8#270 /cedilla 8#271 /onesuperior 8#272 /ordmasculine
+8#273 /guillemotright 8#274 /onequarter 8#275 /onehalf
+8#276 /threequarters 8#277 /questiondown 8#300 /Agrave 8#301 /Aacute
+8#302 /Acircumflex 8#303 /Atilde 8#304 /Adieresis 8#305 /Aring
+8#306 /AE 8#307 /Ccedilla 8#310 /Egrave 8#311 /Eacute
+8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute
+8#316 /Icircumflex 8#317 /Idieresis 8#320 /Eth 8#321 /Ntilde 8#322 /Ograve
+8#323 /Oacute 8#324 /Ocircumflex 8#325 /Otilde 8#326 /Odieresis 8#327 /multiply
+8#330 /Oslash 8#331 /Ugrave 8#332 /Uacute 8#333 /Ucircumflex
+8#334 /Udieresis 8#335 /Yacute 8#336 /Thorn 8#337 /germandbls 8#340 /agrave
+8#341 /aacute 8#342 /acircumflex 8#343 /atilde 8#344 /adieresis 8#345 /aring
+8#346 /ae 8#347 /ccedilla 8#350 /egrave 8#351 /eacute
+8#352 /ecircumflex 8#353 /edieresis 8#354 /igrave 8#355 /iacute
+8#356 /icircumflex 8#357 /idieresis 8#360 /eth 8#361 /ntilde 8#362 /ograve
+8#363 /oacute 8#364 /ocircumflex 8#365 /otilde 8#366 /odieresis 8#367 /divide
+8#370 /oslash 8#371 /ugrave 8#372 /uacute 8#373 /ucircumflex
+8#374 /udieresis 8#375 /yacute 8#376 /thorn 8#377 /ydieresis] def
+/Times-Bold /Times-Bold-iso isovec ReEncode
+/Times-Roman /Times-Roman-iso isovec ReEncode
+ /DrawEllipse {
+       /endangle exch def
+       /startangle exch def
+       /yrad exch def
+       /xrad exch def
+       /y exch def
+       /x exch def
+       /savematrix mtrx currentmatrix def
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
+       savematrix setmatrix
+       } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+10 setmiterlimit
+0 slj 0 slc
+ 0.06000 0.06000 sc
+%
+% Fig objects follow
+%
+% 
+% here starts figure with depth 51
+% Polyline
+n 4200 1500 m 4200 3900 l 8400 3900 l 6000 1500 l
+ cp gs col7 0.75 shd ef gr 
+% Ellipse
+7.500 slw
+ [15 45] 45 sd
+1 slc
+n 5400 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4800 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4200 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4800 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4200 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4200 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6000 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6600 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 7200 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 7800 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 7200 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6600 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6000 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 5400 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4800 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 5400 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6000 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6600 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6000 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 5400 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4800 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4200 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4200 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 4800 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 5400 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 7800 3300 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 8400 3900 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 7200 2700 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6600 2100 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Ellipse
+ [15 45] 45 sd
+n 6000 1500 75 75 0 360 DrawEllipse gs 0.00 setgray ef gr gs col0 s gr
+ [] 0 sd
+% Polyline
+0 slc
+gs  clippath
+9615 5160 m 9615 5040 l 9395 5040 l 9575 5100 l 9395 5160 l cp
+eoclip
+n 3000 5100 m
+ 9600 5100 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 9395 5160 m 9575 5100 l 9395 5040 l 9395 5160 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+3060 885 m 2940 885 l 2940 1105 l 3000 925 l 3060 1105 l cp
+eoclip
+n 3000 5100 m
+ 3000 900 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 3060 1105 m 3000 925 l 2940 1105 l 3060 1105 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+n 3000 4500 m
+ 2925 4500 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3000 3900 m
+ 2925 3900 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3000 3300 m
+ 2925 3300 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3600 5100 m
+ 3600 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 4200 5100 m
+ 4200 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 5400 5100 m
+ 5400 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 4800 5100 m
+ 4800 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 6000 5100 m
+ 6000 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 6600 5100 m
+ 6600 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3000 2700 m
+ 2925 2700 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3000 1500 m
+ 2925 1500 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 3000 2100 m
+ 2925 2100 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+ [15 45] 45 sd
+n 3000 1500 m
+ 9000 1500 l gs col0 s gr  [] 0 sd
+% Polyline
+ [15 45] 45 sd
+n 8400 5100 m
+ 8400 900 l gs col0 s gr  [] 0 sd
+% Polyline
+n 7200 5100 m
+ 7200 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 7800 5100 m
+ 7800 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+n 8400 5100 m
+ 8400 5175 l gs 0.00 setgray ef gr gs col0 s gr 
+% Polyline
+ [15 45] 45 sd
+n 3000 3900 m
+ 9000 3900 l gs col0 s gr  [] 0 sd
+% Polyline
+ [15 45] 45 sd
+n 5400 900 m
+ 9600 5100 l gs col0 s gr  [] 0 sd
+% Polyline
+ [15 45] 45 sd
+n 4200 5100 m
+ 4200 900 l gs col0 s gr  [] 0 sd
+/Times-Bold-iso ff 390.00 scf sf
+2625 4650 m
+gs 1 -1 sc (1) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+2625 4050 m
+gs 1 -1 sc (2) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+3525 5550 m
+gs 1 -1 sc (1) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+2700 1050 m
+gs 1 -1 sc (j) col0 sh gr
+/Times-Roman-iso ff 390.00 scf sf
+8025 825 m
+gs 1 -1 sc (i<=n) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+4125 5550 m
+gs 1 -1 sc (2) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+8325 5550 m
+gs 1 -1 sc (n) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+2550 1575 m
+gs 1 -1 sc (m) col0 sh gr
+/Times-Roman-iso ff 390.00 scf sf
+9075 3975 m
+gs 1 -1 sc (j>=2) col0 sh gr
+/Times-Roman-iso ff 390.00 scf sf
+9075 1575 m
+gs 1 -1 sc (j<=m) col0 sh gr
+/Times-Bold-iso ff 390.00 scf sf
+9450 5475 m
+gs 1 -1 sc (i) col0 sh gr
+/Times-Roman-iso ff 390.00 scf sf
+3825 825 m
+gs 1 -1 sc (i>=2) col0 sh gr
+/Times-Roman-iso ff 390.00 scf sf
+4875 825 m
+gs 1 -1 sc (j<=n+2-i) col0 sh gr
+% here ends figure;
+$F2psEnd
+rs
+showpage
diff --git a/doc/images/basic.fig b/doc/images/basic.fig
new file mode 100644 (file)
index 0000000..7fe0a97
--- /dev/null
@@ -0,0 +1,100 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 5400 3900 75 75 5400 3900 5400 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4800 3900 75 75 4800 3900 4800 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4200 3300 75 75 4200 3300 4200 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4800 3300 75 75 4800 3300 4800 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4200 2700 75 75 4200 2700 4200 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4200 3900 75 75 4200 3900 4200 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6000 3900 75 75 6000 3900 6000 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6600 3900 75 75 6600 3900 6600 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 7200 3900 75 75 7200 3900 7200 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 7800 3900 75 75 7800 3900 7800 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 7200 3300 75 75 7200 3300 7200 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6600 3300 75 75 6600 3300 6600 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6000 3300 75 75 6000 3300 6000 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 5400 3300 75 75 5400 3300 5400 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4800 2700 75 75 4800 2700 4800 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 5400 2700 75 75 5400 2700 5400 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6000 2700 75 75 6000 2700 6000 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6600 2700 75 75 6600 2700 6600 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6000 2100 75 75 6000 2100 6000 2175
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 5400 2100 75 75 5400 2100 5400 2175
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4800 2100 75 75 4800 2100 4800 2175
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4200 2100 75 75 4200 2100 4200 2175
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4200 1500 75 75 4200 1500 4200 1575
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 4800 1500 75 75 4800 1500 4800 1575
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 5400 1500 75 75 5400 1500 5400 1575
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 7800 3300 75 75 7800 3300 7800 3375
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 8400 3900 75 75 8400 3900 8400 3975
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 7200 2700 75 75 7200 2700 7200 2775
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6600 2100 75 75 6600 2100 6600 2175
+1 3 2 1 0 0 50 -1 20 3.000 1 0.0000 6000 1500 75 75 6000 1500 6000 1575
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 180.00
+        3000 5100 9600 5100
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 120.00 180.00
+        3000 5100 3000 900
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 4500 2925 4500
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 3900 2925 3900
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 3300 2925 3300
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3600 5100 3600 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        4200 5100 4200 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        5400 5100 5400 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        4800 5100 4800 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        6000 5100 6000 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        6600 5100 6600 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 2700 2925 2700
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 1500 2925 1500
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        3000 2100 2925 2100
+2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
+        3000 1500 9000 1500
+2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
+        8400 5100 8400 900
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        7200 5100 7200 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        7800 5100 7800 5175
+2 1 0 1 0 0 50 -1 20 3.000 0 0 -1 0 0 2
+        8400 5100 8400 5175
+2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
+        3000 3900 9000 3900
+2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
+        5400 900 9600 5100
+2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
+        4200 5100 4200 900
+2 3 0 0 0 7 51 -1 15 0.000 0 0 -1 0 0 5
+        4200 1500 4200 3900 8400 3900 6000 1500 4200 1500
+4 0 0 50 -1 2 26 0.0000 0 270 195 2625 4650 1\001
+4 0 0 50 -1 2 26 0.0000 0 270 195 2625 4050 2\001
+4 0 0 50 -1 2 26 0.0000 0 270 195 3525 5550 1\001
+4 0 0 50 -1 2 26 0.0000 0 345 135 2700 1050 j\001
+4 0 0 50 -1 0 26 0.0000 0 270 750 8025 825 i<=n\001
+4 0 0 50 -1 2 26 0.0000 0 270 195 4125 5550 2\001
+4 0 0 50 -1 2 26 0.0000 0 180 225 8325 5550 n\001
+4 0 0 50 -1 2 26 0.0000 0 180 330 2550 1575 m\001
+4 0 0 50 -1 0 26 0.0000 0 360 750 9075 3975 j>=2\001
+4 0 0 50 -1 0 26 0.0000 0 360 855 9075 1575 j<=m\001
+4 0 0 50 -1 2 26 0.0000 0 270 105 9450 5475 i\001
+4 0 0 50 -1 0 26 0.0000 0 270 750 3825 825 i>=2\001
+4 0 0 50 -1 0 26 0.0000 0 360 1410 4875 825 j<=n+2-i\001
diff --git a/doc/images/basic.jpg b/doc/images/basic.jpg
new file mode 100644 (file)
index 0000000..995b1d8
Binary files /dev/null and b/doc/images/basic.jpg differ
diff --git a/doc/images/basic.pdf b/doc/images/basic.pdf
new file mode 100644 (file)
index 0000000..d15d42b
Binary files /dev/null and b/doc/images/basic.pdf differ
diff --git a/doc/images/basic.txt b/doc/images/basic.txt
new file mode 100644 (file)
index 0000000..e40913a
--- /dev/null
@@ -0,0 +1,13 @@
+ j^ i>=2          
+  | | j<=n+2-i    
+  | |\     | i<=n
+  | | \    |     
+m-+-****---+-j<=m
+  | *****  |     
+  | ****** |     
+  | *******|     
+2-+-********-j>=2
+  | |      |\    
+0-+-+------+--->i
+  | |      |     
+  0 2      n     
diff --git a/doc/images/tree.eps b/doc/images/tree.eps
new file mode 100644 (file)
index 0000000..d80f6e9
--- /dev/null
@@ -0,0 +1,258 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: tree.eps
+%%Creator: fig2dev Version 3.2 Patchlevel 3c
+%%CreationDate: Fri Sep  6 10:09:40 2002
+%%For: bastoul@whisky (Cedric Bastoul)
+%%BoundingBox: 0 0 388 312
+%%Magnification: 1.0000
+%%EndComments
+/$F2psDict 200 dict def
+$F2psDict begin
+$F2psDict /mtrx matrix put
+/col-1 {0 setgray} bind def
+/col0 {0.000 0.000 0.000 srgb} bind def
+/col1 {0.000 0.000 1.000 srgb} bind def
+/col2 {0.000 1.000 0.000 srgb} bind def
+/col3 {0.000 1.000 1.000 srgb} bind def
+/col4 {1.000 0.000 0.000 srgb} bind def
+/col5 {1.000 0.000 1.000 srgb} bind def
+/col6 {1.000 1.000 0.000 srgb} bind def
+/col7 {1.000 1.000 1.000 srgb} bind def
+/col8 {0.000 0.000 0.560 srgb} bind def
+/col9 {0.000 0.000 0.690 srgb} bind def
+/col10 {0.000 0.000 0.820 srgb} bind def
+/col11 {0.530 0.810 1.000 srgb} bind def
+/col12 {0.000 0.560 0.000 srgb} bind def
+/col13 {0.000 0.690 0.000 srgb} bind def
+/col14 {0.000 0.820 0.000 srgb} bind def
+/col15 {0.000 0.560 0.560 srgb} bind def
+/col16 {0.000 0.690 0.690 srgb} bind def
+/col17 {0.000 0.820 0.820 srgb} bind def
+/col18 {0.560 0.000 0.000 srgb} bind def
+/col19 {0.690 0.000 0.000 srgb} bind def
+/col20 {0.820 0.000 0.000 srgb} bind def
+/col21 {0.560 0.000 0.560 srgb} bind def
+/col22 {0.690 0.000 0.690 srgb} bind def
+/col23 {0.820 0.000 0.820 srgb} bind def
+/col24 {0.500 0.190 0.000 srgb} bind def
+/col25 {0.630 0.250 0.000 srgb} bind def
+/col26 {0.750 0.380 0.000 srgb} bind def
+/col27 {1.000 0.500 0.500 srgb} bind def
+/col28 {1.000 0.630 0.630 srgb} bind def
+/col29 {1.000 0.750 0.750 srgb} bind def
+/col30 {1.000 0.880 0.880 srgb} bind def
+/col31 {1.000 0.840 0.000 srgb} bind def
+
+end
+save
+newpath 0 312 moveto 0 0 lineto 388 0 lineto 388 312 lineto closepath clip newpath
+-165.0 369.0 translate
+1 -1 scale
+
+/cp {closepath} bind def
+/ef {eofill} bind def
+/gr {grestore} bind def
+/gs {gsave} bind def
+/sa {save} bind def
+/rs {restore} bind def
+/l {lineto} bind def
+/m {moveto} bind def
+/rm {rmoveto} bind def
+/n {newpath} bind def
+/s {stroke} bind def
+/sh {show} bind def
+/slc {setlinecap} bind def
+/slj {setlinejoin} bind def
+/slw {setlinewidth} bind def
+/srgb {setrgbcolor} bind def
+/rot {rotate} bind def
+/sc {scale} bind def
+/sd {setdash} bind def
+/ff {findfont} bind def
+/sf {setfont} bind def
+/scf {scalefont} bind def
+/sw {stringwidth} bind def
+/tr {translate} bind def
+/tnt {dup dup currentrgbcolor
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add
+  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
+  bind def
+/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
+  4 -2 roll mul srgb} bind def
+ /DrawEllipse {
+       /endangle exch def
+       /startangle exch def
+       /yrad exch def
+       /xrad exch def
+       /y exch def
+       /x exch def
+       /savematrix mtrx currentmatrix def
+       x y tr xrad yrad sc 0 0 1 startangle endangle arc
+       closepath
+       savematrix setmatrix
+       } def
+
+/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
+/$F2psEnd {$F2psEnteredState restore end} def
+
+$F2psBegin
+%%Page: 1 1
+10 setmiterlimit
+ 0.06000 0.06000 sc
+%
+% Fig objects follow
+%
+7.500 slw
+% Ellipse
+n 5400 1200 237 237 0 360 DrawEllipse gs col0 s gr
+
+% Ellipse
+n 3000 3600 237 237 0 360 DrawEllipse gs col0 s gr
+
+% Ellipse
+n 7800 3600 237 237 0 360 DrawEllipse gs col0 s gr
+
+% Ellipse
+n 6600 4800 237 237 0 360 DrawEllipse gs col0 s gr
+
+% Ellipse
+n 5400 2325 237 237 0 360 DrawEllipse gs col0 s gr
+
+% Polyline
+gs  clippath
+5355 2115 m 5445 2115 l 5445 1888 l 5400 2068 l 5355 1888 l cp
+eoclip
+n 5400 1425 m
+ 5400 2100 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 5355 1888 m 5400 2068 l 5445 1888 l 5355 1888 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+5355 3390 m 5445 3390 l 5445 3163 l 5400 3343 l 5355 3163 l cp
+eoclip
+n 5400 2550 m
+ 5400 3375 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 5355 3163 m 5400 3343 l 5445 3163 l 5355 3163 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+2955 4590 m 3045 4590 l 3045 4363 l 3000 4543 l 2955 4363 l cp
+eoclip
+n 3000 3825 m
+ 3000 4575 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 2955 4363 m 3000 4543 l 3045 4363 l 2955 4363 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+6563 4544 m 6611 4621 l 6803 4500 l 6627 4558 l 6755 4424 l cp
+eoclip
+n 7800 3825 m
+ 6600 4575 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 6755 4424 m 6627 4558 l 6803 4500 l 6755 4424 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+8988 4621 m 9036 4544 l 8844 4424 l 8973 4558 l 8796 4500 l cp
+eoclip
+n 7800 3825 m
+ 9000 4575 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 8796 4500 m 8973 4558 l 8844 4424 l 8796 4500 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+6555 5790 m 6645 5790 l 6645 5563 l 6600 5743 l 6555 5563 l cp
+eoclip
+n 6600 5025 m
+ 6600 5775 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 6555 5563 m 6600 5743 l 6645 5563 l 6555 5563 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+7802 3411 m 7831 3326 l 7615 3253 l 7772 3354 l 7587 3338 l cp
+eoclip
+n 5400 2550 m
+ 7803 3364 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 7587 3338 m 7772 3354 l 7615 3253 l 7587 3338 l  cp gs 0.00 setgray ef gr  col0 s
+% Polyline
+7.500 slw
+gs  clippath
+2971 3337 m 3000 3422 l 3215 3348 l 3031 3364 l 3186 3262 l cp
+eoclip
+n 5400 2550 m
+ 3000 3375 l gs col0 s gr gr
+
+% arrowhead
+15.000 slw
+n 3186 3262 m 3031 3364 l 3215 3348 l 3186 3262 l  cp gs 0.00 setgray ef gr  col0 s
+/Times-Roman ff 330.00 scf sf
+3075 4200 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+6675 5400 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+5475 3000 m
+gs 1 -1 sc (1) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+3825 3000 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+6900 3000 m
+gs 1 -1 sc (2) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+6975 4200 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+8475 4200 m
+gs 1 -1 sc (1) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+5475 1800 m
+gs 1 -1 sc (0) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+2850 4950 m
+gs 1 -1 sc (S1) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+5250 3750 m
+gs 1 -1 sc (S2) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+6450 6150 m
+gs 1 -1 sc (S3) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+8850 4950 m
+gs 1 -1 sc (S4) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+5355 2430 m
+gs 1 -1 sc (i) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+2963 3667 m
+gs 1 -1 sc (j) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+7763 3675 m
+gs 1 -1 sc (j) col0 sh gr
+/Times-Roman ff 330.00 scf sf
+6533 4890 m
+gs 1 -1 sc (k) col0 sh gr
+$F2psEnd
+rs
diff --git a/doc/images/tree.fig b/doc/images/tree.fig
new file mode 100644 (file)
index 0000000..9c202bb
--- /dev/null
@@ -0,0 +1,54 @@
+#FIG 3.2
+Landscape
+Center
+Inches
+Letter  
+100.00
+Single
+-2
+1200 2
+1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 1200 237 237 5400 1200 5625 1275
+1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 3000 3600 237 237 3000 3600 3225 3675
+1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 7800 3600 237 237 7800 3600 8025 3675
+1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 6600 4800 237 237 6600 4800 6825 4875
+1 3 0 1 0 7 50 0 -1 0.000 1 0.0000 5400 2325 237 237 5400 2325 5625 2400
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        5400 1425 5400 2100
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        5400 2550 5400 3375
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        3000 3825 3000 4575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        7800 3825 6600 4575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        7800 3825 9000 4575
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        6600 5025 6600 5775
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        5400 2550 7803 3364
+2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
+       1 1 2.00 90.00 180.00
+        5400 2550 3000 3375
+4 0 0 50 0 0 22 0.0000 0 225 150 3075 4200 0\001
+4 0 0 50 0 0 22 0.0000 0 225 150 6675 5400 0\001
+4 0 0 50 0 0 22 0.0000 0 225 150 5475 3000 1\001
+4 0 0 50 0 0 22 0.0000 0 225 150 3825 3000 0\001
+4 0 0 50 0 0 22 0.0000 0 225 150 6900 3000 2\001
+4 0 0 50 0 0 22 0.0000 0 225 150 6975 4200 0\001
+4 0 0 50 0 0 22 0.0000 0 225 150 8475 4200 1\001
+4 0 0 50 0 0 22 0.0000 0 225 150 5475 1800 0\001
+4 0 0 50 0 0 22 0.0000 0 225 345 2850 4950 S1\001
+4 0 0 50 0 0 22 0.0000 0 225 345 5250 3750 S2\001
+4 0 0 50 0 0 22 0.0000 0 225 345 6450 6150 S3\001
+4 0 0 50 0 0 22 0.0000 0 225 345 8850 4950 S4\001
+4 0 0 50 0 0 22 0.0000 0 225 90 5355 2430 i\001
+4 0 0 50 0 0 22 0.0000 0 300 90 2963 3667 j\001
+4 0 0 50 0 0 22 0.0000 0 300 90 7763 3675 j\001
+4 0 0 50 0 0 22 0.0000 0 225 150 6533 4890 k\001
diff --git a/doc/images/tree.jpg b/doc/images/tree.jpg
new file mode 100644 (file)
index 0000000..7329268
Binary files /dev/null and b/doc/images/tree.jpg differ
diff --git a/doc/images/tree.pdf b/doc/images/tree.pdf
new file mode 100644 (file)
index 0000000..7569ede
Binary files /dev/null and b/doc/images/tree.pdf differ
diff --git a/doc/images/tree.txt b/doc/images/tree.txt
new file mode 100644 (file)
index 0000000..7bcfef2
--- /dev/null
@@ -0,0 +1,25 @@
+       *
+       |
+       |0
+       |
+       V
+       i
+       |
+ +-----+-----+
+ |     |     |      
+ |0    |1    |2 
+ |     |     |      
+ V     V     V
+ j     S2    j
+ |           |
+ |0       +--+--+
+ |        |     |
+ V        |0    |1
+ S1       |     |
+          V     V
+          k     S4
+          |
+          |0
+          |
+          V
+          S3
diff --git a/examples/README b/examples/README
new file mode 100644 (file)
index 0000000..1a9881e
--- /dev/null
@@ -0,0 +1,58 @@
+#
+#  /**-------------------------------------------------------------------**
+#   **                              CLooG                                **
+#   **-------------------------------------------------------------------**
+#   **                       Library use examples                        **
+#   **-------------------------------------------------------------------**
+#   **             First version of this file: july 15th 2003            **
+#   **-------------------------------------------------------------------**/
+#
+
+
+In this directory are presented various examples of how to use the CLooG
+library. For each case, you will need to edit the makefile file according to
+your system, in particular you will have to set where your CLooG library has
+been installed, and where are the CLooG header files. Don't forget to update
+your LD_LIBRARY_PATH environment variable to reach the CLooG library. If you
+performed the default installation of CLooG, the library is in /usr/local/lib
+thus you need to set LD_LIBRARY_PATH thanks to one of the following command:
+'setenv LD_LIBRARY_PATH /usr/local/lib' for tcsh-like shells, or
+'export LD_LIBRARY_PATH=/usr/local/lib' for bash-like shells.
+
+For any problem: <cedric.bastoul@inria.fr>.
+
+
+#   **-------------------------------------------------------------------**
+#   **                          I. Example                               **
+#   **-------------------------------------------------------------------**/
+
+
+This example program creates a simple CLooG-like loop generation program in a
+few lines. The input problem has to be given on standard input. We can test it
+for instance by typing 'more FILE.cloog | ./example' (or example.exe under
+Cygwin).
+
+
+#   **-------------------------------------------------------------------**
+#   **                       II. cloog2loopgen                           **
+#   **-------------------------------------------------------------------**/
+
+NO MORE EXISTS !
+
+This example creates a program converting a CLooG input file to a LoopGen input
+file. This can be useful to compare the two tools (I do not support LoopGen,
+don't ask me if you find some bugs !). The usage of the created tool is:
+'cloog2loopgen input_file output_file'.
+
+
+#   **-------------------------------------------------------------------**
+#   **                       III. cloog2Omega                            **
+#   **-------------------------------------------------------------------**/
+
+
+NO MORE EXISTS !
+
+This example creates a program converting a CLooG input file to an Omega
+CodeGen input file. This can be useful to compare the two tools (I do not
+support CodeGen, don't ask me if you find some bugs !). The usage of the
+created tool is: 'cloog2omega input_file output_file'.
diff --git a/examples/example/Makefile b/examples/example/Makefile
new file mode 100644 (file)
index 0000000..9b6150b
--- /dev/null
@@ -0,0 +1,21 @@
+# Please enter here the locations for CloogLib include and libraries if they
+# aren't the default values (/usr/lib and /usr/include).
+CLOOG_INC = $(HOME)/progs/linux/include
+CLOOG_LIB = $(HOME)/progs/linux/lib
+
+CC = gcc
+LDLIBS= -lcloog
+CFLAGS= -I $(CLOOG_INC) -L $(CLOOG_LIB)
+
+
+example: example.c
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                Making example                 *"
+       @echo "              *-----------------------------------------------*/"
+       $(CC) example.c -o example $(CFLAGS) $(LDLIBS)
+
+clean:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *               Cleaning example                *"
+       @echo "              *-----------------------------------------------*/"
+       -rm -f example example.exe core
diff --git a/examples/example/example.c b/examples/example/example.c
new file mode 100644 (file)
index 0000000..5c28ba6
--- /dev/null
@@ -0,0 +1,24 @@
+/* This is a very simple example of how to use the CLooGLib inside your
+ * programs. You should compile it by typing 'make' (after edition of the
+ * makefile), then test it for instance by typing
+ * 'more FILE.cloog | ./example' (or example.exe under Cygwin).
+ */
+
+# include <stdio.h>
+# include <cloog/cloog.h>
+
+int main()
+{ CloogProgram * program ;
+  CloogOptions * options ;
+  
+  options = cloog_options_malloc() ;
+  program = cloog_program_read(stdin,options) ;
+  
+  program = cloog_program_generate(program,options) ;
+  cloog_program_pprint(stdout,program,options) ;
+
+  cloog_options_free(options) ;
+  cloog_program_free(program) ;
+  
+  return 0 ;
+}
diff --git a/genversion.sh.in b/genversion.sh.in
new file mode 100755 (executable)
index 0000000..77c04d7
--- /dev/null
@@ -0,0 +1,15 @@
+#! /bin/sh
+srcdir=@abs_srcdir@
+PACKAGE=@PACKAGE@
+VERSION=@VERSION@
+
+if test -f $srcdir/.git/HEAD; then
+    GIT_REPO="$srcdir/.git"
+    GIT_HEAD_ID=`GIT_DIR=$GIT_REPO git describe`
+elif test -f $srcdir/CLOOG_HEAD; then
+    GIT_HEAD_ID=`cat $srcdir/CLOOG_HEAD`
+else
+    GIT_HEAD_ID="$PACKAGE-$VERSION-UNKNOWN"
+fi
+
+echo $GIT_HEAD_ID | sed -e 's/cloog-//'
diff --git a/include/cloog/block.h b/include/cloog/block.h
new file mode 100644 (file)
index 0000000..f1c805c
--- /dev/null
@@ -0,0 +1,183 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             block.h                               **
+    **-------------------------------------------------------------------**
+    **                    First version: June 11th 2005                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_BLOCK_H
+#define CLOOG_BLOCK_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+/**
+ * CloogBlock structure:
+ * this structure contains the informations of a statement block. It may happen
+ * that users are lazy enough to ask CLooG to generate the code for statements
+ * with exactly the same domain/scattering pair (possibly differing by only one
+ * constant) instead of giving only one pair. CLooG provides them a last chance
+ * to save time and memory by trying to find these blocks itself. The block
+ * contains the statement list and the common informations of the statements.
+ * This structure contains also the number of existing active references to it:
+ * because CLooG uses many copies of blocks there is no need to actually copy
+ * these blocks but just to return a pointer to them and to increment the number
+ * of active references. Each time a CloogBlock will be freed, we will decrement
+ * the active reference counter and actually free it if its value is zero.
+ */
+struct cloogblock
+{ CloogStatement * _statement ;  /**< The list of statements in the block. */
+  int  _nb_scaldims ;            /**< Number of scalar dimensions. */
+  Value * scaldims ;            /**< Scalar dimension values. */
+  int _depth ;                   /**< Original block depth (outer loop number).*/
+  int _references ;              /**< Number of references to this structure. */
+  void * _usr;                 /**< User field, for library user convenience.
+                                *   This pointer is not freed when the
+                                *   CloogBlock structure is freed.
+                                */
+} ;
+typedef struct cloogblock CloogBlock ;
+
+static inline CloogStatement *cloog_block_stmt (CloogBlock *b)
+{
+  return b->_statement;
+}
+
+static inline void cloog_block_set_stmt (CloogBlock *b, CloogStatement *s)
+{
+  b->_statement = s;
+}
+
+static inline int cloog_block_nb_scaldims (CloogBlock *b)
+{
+  return b->_nb_scaldims;
+}
+
+static inline void cloog_block_set_nb_scaldims (CloogBlock *b, int n)
+{
+  b->_nb_scaldims = n;
+}
+
+static inline Value *cloog_block_scaldims (CloogBlock *b)
+{
+  return b->scaldims;
+}
+
+static inline void cloog_block_set_scaldims (CloogBlock *b, Value *s)
+{
+  b->scaldims = s;
+}
+
+static inline int cloog_block_depth (CloogBlock *b)
+{
+  return b->_depth;
+}
+
+static inline void cloog_block_set_depth (CloogBlock *b, int n)
+{
+  b->_depth = n;
+}
+
+static inline void *cloog_block_usr (CloogBlock *b)
+{
+  return b->_usr;
+}
+
+static inline void cloog_block_set_usr (CloogBlock *b, void *u)
+{
+  b->_usr = u;
+}
+
+
+/**
+ * CloogBlockList structure:
+ * this structure reprensents a node of a linked list of CloogBlock structures.
+ */
+struct cloogblocklist
+{ CloogBlock * _block ;          /**< An element of the list. */
+  struct cloogblocklist * _next ;/**< Pointer to the next element of the list.*/
+} ;
+typedef struct cloogblocklist CloogBlockList ;
+
+static inline CloogBlockList *cloog_block_list_next (CloogBlockList *s)
+{
+  return s->_next;
+}
+
+static inline void cloog_block_list_set_next (CloogBlockList *s, CloogBlockList *n)
+{
+  s->_next = n;
+}
+
+static inline CloogBlock *cloog_block_list_block (CloogBlockList *s)
+{
+  return s->_block;
+}
+
+static inline void cloog_block_list_set_block (CloogBlockList *s, CloogBlock *n)
+{
+  s->_block = n;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_block_print_structure(FILE *, CloogBlock *, int) ;
+void cloog_block_print(FILE *, CloogBlock *) ;
+void cloog_block_list_print(FILE *, CloogBlockList *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_block_free(CloogBlock *) ;
+void cloog_block_list_free(CloogBlockList *) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogBlock     * cloog_block_malloc(void);
+CloogBlock     * cloog_block_alloc(CloogStatement*,int,Value*,int);
+CloogBlockList * cloog_block_list_malloc(void);
+CloogBlockList * cloog_block_list_alloc(CloogBlock *) ;
+CloogBlock     * cloog_block_copy(CloogBlock * block) ;
+void             cloog_block_merge(CloogBlock *, CloogBlock *) ;
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
+
diff --git a/include/cloog/clast.h b/include/cloog/clast.h
new file mode 100644 (file)
index 0000000..95e2257
--- /dev/null
@@ -0,0 +1,130 @@
+#ifndef CLOOG_CLAST_H
+#define CLOOG_CLAST_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+enum clast_expr_type { expr_term, expr_bin, expr_red };
+
+struct clast_expr {
+    enum clast_expr_type type;
+};
+
+struct clast_term {
+    struct clast_expr  expr;
+    Value              val;
+    const char *       var;
+};
+
+enum clast_red_type { clast_red_sum, clast_red_min, clast_red_max };
+struct clast_reduction {
+    struct clast_expr  expr;
+    enum clast_red_type        type;
+    int                        n;
+    struct clast_expr* elts[1];
+};
+
+enum clast_bin_type { clast_bin_fdiv, clast_bin_cdiv, 
+                     clast_bin_div, clast_bin_mod };
+struct clast_binary {
+    struct clast_expr  expr;
+    enum clast_bin_type type;
+    struct clast_expr* LHS;
+    Value              RHS;
+};
+
+struct clast_stmt;
+struct clast_stmt_op {
+    void (*free)(struct clast_stmt *);
+};
+
+#define CLAST_STMT_IS_A(stmt, type) ((stmt)->op == &(type))
+
+extern struct clast_stmt_op stmt_root;
+extern struct clast_stmt_op stmt_ass;
+extern struct clast_stmt_op stmt_user;
+extern struct clast_stmt_op stmt_block;
+extern struct clast_stmt_op stmt_for;
+extern struct clast_stmt_op stmt_guard;
+
+struct clast_stmt {
+    struct clast_stmt_op    *op;
+    struct clast_stmt  *next;
+};
+
+struct clast_root {
+    struct clast_stmt  stmt;
+    CloogNames *       names;       /**< Names of iterators and parameters. */
+};
+
+struct clast_assignment {
+    struct clast_stmt  stmt;
+    const char *       LHS;
+    struct clast_expr *        RHS;
+};
+
+struct clast_block {
+    struct clast_stmt  stmt;
+    struct clast_stmt *        body;
+};
+
+struct clast_user_stmt {
+    struct clast_stmt  stmt;
+    CloogStatement *   statement;
+    struct clast_stmt *        substitutions;
+};
+
+struct clast_for {
+    struct clast_stmt  stmt;
+    const char *       iterator;
+    struct clast_expr *        LB;
+    struct clast_expr *        UB;
+    Value              stride;
+    struct clast_stmt *        body;
+};
+
+struct clast_equation {
+    struct clast_expr *        LHS;
+    struct clast_expr *        RHS;
+    int                        sign;
+};
+
+struct clast_guard {
+    struct clast_stmt  stmt;
+    struct clast_stmt *        then;
+    int                        n;
+    struct clast_equation      eq[1];
+};
+
+
+struct clast_stmt *cloog_clast_create(CloogProgram *program,
+                                     CloogOptions *options);
+void cloog_clast_free(struct clast_stmt *s);
+
+struct clast_term *new_clast_term(Value c, const char *v);
+struct clast_binary *new_clast_binary(enum clast_bin_type t, 
+                                     struct clast_expr *lhs, Value rhs);
+struct clast_reduction *new_clast_reduction(enum clast_red_type t, int n);
+struct clast_root *new_clast_root(CloogNames *names);
+struct clast_assignment *new_clast_assignment(const char *lhs,
+                                             struct clast_expr *rhs);
+struct clast_user_stmt *new_clast_user_stmt(CloogStatement *stmt, 
+                                               struct clast_stmt *subs);
+struct clast_block *new_clast_block(void);
+struct clast_for *new_clast_for(const char *it, struct clast_expr *LB, 
+                               struct clast_expr *UB, Value stride);
+struct clast_guard *new_clast_guard(int n);
+
+void free_clast_term(struct clast_term *t);
+void free_clast_binary(struct clast_binary *b);
+void free_clast_reduction(struct clast_reduction *r);
+void free_clast_expr(struct clast_expr *e);
+void free_clast_stmt(struct clast_stmt *s);
+
+int clast_expr_equal(struct clast_expr *e1, struct clast_expr *e2);
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/cloog-config.h.in b/include/cloog/cloog-config.h.in
new file mode 100644 (file)
index 0000000..9e7f984
--- /dev/null
@@ -0,0 +1,80 @@
+/* include/cloog/cloog-config.h.in.  Generated from configure.in by autoheader.  */
+
+/* Use the PPL backend */
+#undef CLOOG_PPL_BACKEND
+
+/* presence of sys/resource.h */
+#undef HAS_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strtol' function. */
+#undef HAVE_STRTOL
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Empty comment */
+#undef LINEAR_VALUE_IS_MP
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
diff --git a/include/cloog/cloog.h.in b/include/cloog/cloog.h.in
new file mode 100644 (file)
index 0000000..41dff7b
--- /dev/null
@@ -0,0 +1,101 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                              cloog.h                              **
+    **-------------------------------------------------------------------**
+    **                   First version: july 25th 2002                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+/******************************************************************************
+ *  THIS FILE HAS BEEN AUTOMATICALLY GENERATED FROM clooh.h.in BY configure   *
+ ******************************************************************************/
+
+#ifndef CLOOG_H
+#define CLOOG_H
+#include "cloog-config.h"
+#ifdef CLOOG_PPL_BACKEND
+# define GNUMP
+# include<cloog/ppl_backend.h>
+#else
+# include <polylib/@cl_cv_polylib@.h>
+# include<cloog/polylib_backend.h>
+#endif
+
+/******************************************************************************
+ *                             CLOOG GMP MACROS                               *
+ ******************************************************************************/
+#ifdef GNUMP
+#define value_init_c(val)              { mpz_init((val)) ; \
+                                       }
+#define value_clear_c(val)             { mpz_clear((val)) ; \
+                                       }
+#define value_sprint(Dst,fmt,val)      { char * str ; \
+                                         str = mpz_get_str(0,10,(val)) ; \
+                                         sprintf((Dst),(fmt),str) ; \
+                                         free(str) ; \
+                                       }
+#define value_eq_si(v1,i2)             (mpz_cmp_si((v1),(i2)) == 0)
+#define value_ne_si(v1,i2)             (mpz_cmp_si((v1),(i2)) != 0)
+#define value_gt_si(v1,i2)             (mpz_cmp_si((v1),(i2)) > 0)
+#define value_lt_si(v1,i2)             (mpz_cmp_si((v1),(i2)) < 0)
+#define value_multiply_si(ref,v1,i2)   (mpz_mul_si((ref),(v1),(i2)))
+
+
+/******************************************************************************
+ *                          CLOOG BASIC TYPES MACROS                          *
+ ******************************************************************************/
+#else
+#define value_init_c(val)              ((val) = 0)
+#define value_clear_c(val)             ((val) = 0)
+#define value_sprint(Dst,fmt,val)      (sprintf((Dst),(fmt),(val)))
+#define value_eq_si(v1,i2)             ((v1) == (i2))
+#define value_ne_si(v1,i2)             ((v1) != (i2))
+#define value_gt_si(v1,i2)             ((v1) > (i2))
+#define value_lt_si(v1,i2)             ((v1) < (i2))
+#define value_multiply_si(ref,v1,i2)   ((ref) = value_mult((v1),(i2)))
+#endif
+
+#ifndef value_subtract
+#define value_subtract value_substract
+#endif
+
+
+#include <cloog/version.h>
+#include <cloog/options.h>
+#include <cloog/domain.h>
+#include <cloog/statement.h>
+#include <cloog/block.h>
+#include <cloog/names.h>
+#include <cloog/loop.h>
+#include <cloog/program.h>
+#include <cloog/clast.h>
+#include <cloog/pprint.h>
+
+#endif /* !CLOOG_H */
diff --git a/include/cloog/domain.h b/include/cloog/domain.h
new file mode 100644 (file)
index 0000000..7ffae3a
--- /dev/null
@@ -0,0 +1,141 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             domain.h                              **
+    **-------------------------------------------------------------------**
+    **                  First version: october 28th 2001                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_DOMAIN_H
+#define CLOOG_DOMAIN_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+/**
+ * CloogDomainList structure:
+ * this structure reprensents a node of a linked list of CloogDomain structures.
+ */
+struct cloogdomainlist
+{ CloogDomain * _domain ;         /**< An element of the list. */
+  struct cloogdomainlist * _next ;/**< Pointer to the next element of the list.*/
+} ;
+typedef struct cloogdomainlist CloogDomainList ;
+
+static inline CloogDomain *cloog_domain (CloogDomainList *l)
+{
+  return l->_domain;
+}
+
+static inline void cloog_set_domain (CloogDomainList *l, CloogDomain *d)
+{
+  l->_domain = d;
+}
+
+static inline CloogDomainList *cloog_next_domain (CloogDomainList *l)
+{
+  return l->_next;
+}
+
+static inline void cloog_set_next_domain (CloogDomainList *l, CloogDomainList *n)
+{
+  l->_next = n;
+}
+
+/******************************************************************************
+ *                         Polyhedral Library interface                       *
+ ******************************************************************************/
+void          cloog_domain_print(FILE *, CloogDomain *) ;
+void          cloog_domain_free(CloogDomain *) ;
+CloogDomain * cloog_domain_copy(CloogDomain *) ;
+CloogDomain * cloog_domain_convex(CloogDomain *) ;
+CloogDomain * cloog_domain_simple_convex(CloogDomain * domain, int nb_par);
+CloogDomain * cloog_domain_simplify(CloogDomain *, CloogDomain *) ;
+CloogDomain * cloog_domain_union(CloogDomain *, CloogDomain *) ;
+CloogDomain * cloog_domain_intersection(CloogDomain *, CloogDomain *) ;
+CloogDomain * cloog_domain_difference(CloogDomain *, CloogDomain *) ;
+CloogDomain * cloog_domain_addconstraints(CloogDomain *, CloogDomain *) ;
+void          cloog_domain_sort(CloogDomain **, unsigned, unsigned, unsigned, int *);
+CloogDomain * cloog_domain_empty(int) ;
+int cloog_domain_isconvex (CloogDomain *);
+unsigned cloog_domain_dim (CloogDomain *);
+unsigned cloog_domain_nb_polyhedra (CloogDomain *);
+void cloog_domain_print_polyhedra (FILE *, CloogDomain *);
+CloogDomain * cloog_domain_matrix2domain (CloogMatrix *);
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_domain_print_structure(FILE *, CloogDomain *, int) ;
+void cloog_domain_list_print(FILE *, CloogDomainList *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_domain_list_free(CloogDomainList *) ;
+
+
+/*+****************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+CloogDomain * cloog_domain_read(FILE *) ;
+CloogDomain * cloog_domain_union_read(FILE *) ;
+CloogDomainList * cloog_domain_list_read(FILE *) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+int           cloog_domain_isempty(CloogDomain *) ;
+CloogDomain * cloog_domain_project(CloogDomain *, int, int) ;
+CloogDomain * cloog_domain_extend(CloogDomain *, int, int) ;
+int           cloog_domain_never_integral(CloogDomain *) ;
+void          cloog_domain_stride(CloogDomain *, int, int, Value *, Value *) ;
+int           cloog_domain_integral_lowerbound(CloogDomain *, int, Value *) ;
+void          cloog_domain_lowerbound_update(CloogDomain *, int, Value) ;
+int           cloog_domain_lazy_disjoint(CloogDomain *, CloogDomain *) ;
+int           cloog_domain_lazy_equal(CloogDomain *, CloogDomain *) ;
+int           cloog_domain_lazy_block(CloogDomain *, CloogDomain *,
+                                      CloogDomainList *, int) ;
+int           cloog_domain_lazy_isscalar(CloogDomain *, int) ;
+int           cloog_domain_list_lazy_same(CloogDomainList *) ;
+void          cloog_domain_scalar(CloogDomain *, int, Value *) ;
+CloogDomain * cloog_domain_cut_first(CloogDomain *) ;
+CloogDomain * cloog_domain_erase_dimension(CloogDomain *, int) ;
+CloogDomain * cloog_domain_scatter(CloogDomain *, CloogDomain *);
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/loop.h b/include/cloog/loop.h
new file mode 100644 (file)
index 0000000..f33b3e7
--- /dev/null
@@ -0,0 +1,192 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             loop.h                                **
+    **-------------------------------------------------------------------**
+    **                 First version: october 26th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_LOOP_H
+#define CLOOG_LOOP_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+/**
+ * CloogLoop structure:
+ * this structure contains all the informations of a loop generated or to be
+ * generated.
+ * - if the loop has not been processed yet (it is not a result of a call to
+ *   cloog_loop_generate), the domain is the whole iteration domain of a given
+ *   block, the stride is 1 (i.e. there is no stride), block is necessarily not
+ *   NULL and inner is NULL.
+ * - if the loop comes as a result of a cloog_loop_generate call, the domain
+ *   describes the constraints (guards and loop bounds) for only one dimension
+ *   (the last one: outer dimensions being considered as parameters), the stride
+ *   may differ from one (this means that on the considered dimension, a step of
+ *   'stride' must be considered between integral point, the first integral
+ *   point to be considered being the lower bound of the loop), inner may differ
+ *   from NULL, meaning that there are further dimensions and nesting levels in
+ *   the loop.
+ */
+struct cloogloop
+{ CloogDomain * _domain ;      /**< The iteration domain. */
+  Value stride ;              /**< The stride for the corresponding iterator
+                               *   (filled only after loop generation).
+                               */
+  CloogBlock * _block ;        /**< The included statement block, NULL if none.*/
+  void * _usr;               /**< User field, for library user convenience.
+                              *   This pointer is not freed when the
+                              *   CloogLoop structure is freed.
+                              */
+  struct cloogloop * _inner ;  /**< Loops at the next level. */
+  struct cloogloop * _next ;   /**< Next loop at the same level. */
+} ;
+typedef struct cloogloop CloogLoop ;
+
+
+static inline CloogDomain *cloog_loop_domain (CloogLoop *l)
+{
+  return l->_domain;
+}
+
+static inline void cloog_loop_set_domain (CloogLoop *l, CloogDomain *d)
+{
+  l->_domain = d;
+}
+
+#if 0
+static inline Value cloog_loop_stride (CloogLoop *l)
+{
+  return l->stride;
+}
+
+static inline void cloog_loop_set_stride (CloogLoop *l, Value v)
+{
+  value_assign (l->stride, v);
+}
+
+static inline void cloog_loop_clear_stride (CloogLoop *l)
+{
+  value_clear_c (l->stride);
+}
+
+static inline void cloog_loop_init_stride (CloogLoop *l)
+{
+  value_init_c (l->stride);
+}
+
+static inline void cloog_loop_set_si_stride (CloogLoop *l, int i)
+{
+  value_set_si (l->stride, i);
+}
+#endif
+
+static inline CloogBlock *cloog_loop_block (CloogLoop *l)
+{
+  return l->_block;
+}
+
+static inline void cloog_loop_set_block (CloogLoop *l, CloogBlock *b)
+{
+  l->_block = b;
+}
+
+static inline void *cloog_loop_usr (CloogLoop *l)
+{
+  return l->_usr;
+}
+
+static inline void cloog_loop_set_usr (CloogLoop *l, void *u)
+{
+  l->_usr = u;
+}
+
+static inline CloogLoop *cloog_loop_inner (CloogLoop *l)
+{
+  return l->_inner;
+}
+
+static inline void cloog_loop_set_inner (CloogLoop *l, CloogLoop *i)
+{
+  l->_inner = i;
+}
+
+static inline CloogLoop *cloog_loop_next (CloogLoop *l)
+{
+  return l->_next;
+}
+
+static inline CloogLoop **cloog_loop_next_addr (CloogLoop *l)
+{
+  return &l->_next;
+}
+
+static inline void cloog_loop_set_next (CloogLoop *l, CloogLoop *n)
+{
+  l->_next = n;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_loop_print_structure(FILE *, CloogLoop *, int) ;
+void cloog_loop_print(FILE *, CloogLoop *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_loop_free(CloogLoop *) ;
+
+
+/******************************************************************************
+ *                              Reading functions                             *
+ ******************************************************************************/
+CloogLoop * cloog_loop_read(FILE *, int, int) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogLoop * cloog_loop_malloc(void);
+CloogLoop * cloog_loop_generate(CloogLoop *, CloogDomain *, int, int,
+                                int *, int, int, CloogOptions *) ;
+CloogLoop * cloog_loop_simplify(CloogLoop *, CloogDomain *, int, int) ;
+void cloog_loop_scatter(CloogLoop *, CloogDomain *) ;
+
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/names.h b/include/cloog/names.h
new file mode 100644 (file)
index 0000000..5b246e5
--- /dev/null
@@ -0,0 +1,222 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             names.h                               **
+    **-------------------------------------------------------------------**
+    **                  First version: august 1st 2002                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_NAMES_H
+#define CLOOG_NAMES_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+# define MAX_NAME 50
+# define FIRST_PARAMETER 'M'
+# define FIRST_ITERATOR  'i'
+
+
+/**
+ * CloogNames structure:
+ * this structure contains all the informations about parameter and iterator
+ * names (as strings).
+ */
+struct cloognames
+{ int _nb_scalars ;         /**< Scalar dimension number. */
+  int _nb_scattering ;      /**< Scattering iterator number. */
+  int _nb_iterators ;       /**< Iterator number. */
+  int _nb_parameters ;      /**< Parameter number. */
+  char ** _scalars ;        /**< The scalar names     (an array of strings). */
+  char ** _scattering ;     /**< The scattering names (an array of strings). */
+  char ** _iterators ;      /**< The iterator names   (an array of strings). */
+  char ** _parameters ;     /**< The parameter names  (an array of strings). */
+  int _references;          /**< Number of references to this structure. */
+} ;
+typedef struct cloognames CloogNames ;
+
+
+static inline int cloog_names_nb_scalars (CloogNames *n)
+{
+  return n->_nb_scalars;
+}
+
+static inline void cloog_names_set_nb_scalars (CloogNames *n, int nb)
+{
+  n->_nb_scalars = nb;
+}
+
+static inline int cloog_names_nb_scattering (CloogNames *n)
+{
+  return n->_nb_scattering;
+}
+
+static inline void cloog_names_set_nb_scattering (CloogNames *n, int nb)
+{
+  n->_nb_scattering = nb;
+}
+
+static inline int cloog_names_nb_iterators (CloogNames *n)
+{
+  return n->_nb_iterators;
+}
+
+static inline void cloog_names_set_nb_iterators (CloogNames *n, int nb)
+{
+  n->_nb_iterators = nb;
+}
+
+static inline int cloog_names_nb_parameters (CloogNames *n)
+{
+  return n->_nb_parameters;
+}
+
+static inline void cloog_names_set_nb_parameters (CloogNames *n, int nb)
+{
+  n->_nb_parameters = nb;
+}
+
+static inline char **cloog_names_scalars (CloogNames *n)
+{
+  return n->_scalars;
+}
+
+static inline void cloog_names_set_scalars (CloogNames *n, char **s)
+{
+  n->_scalars = s;
+}
+
+static inline char *cloog_names_scalar_elt (CloogNames *n, int i)
+{
+  return n->_scalars[i];
+}
+
+static inline void cloog_names_set_scalar_elt (CloogNames *n, int i, char *s)
+{
+  n->_scalars[i] = s;
+}
+
+static inline char **cloog_names_scattering (CloogNames *n)
+{
+  return n->_scattering;
+}
+
+static inline void cloog_names_set_scattering (CloogNames *n, char **s)
+{
+  n->_scattering = s;
+}
+
+static inline char *cloog_names_scattering_elt (CloogNames *n, int i)
+{
+  return n->_scattering[i];
+}
+
+static inline void cloog_names_set_scattering_elt (CloogNames *n, int i, char *s)
+{
+  n->_scattering[i] = s;
+}
+
+static inline char **cloog_names_iterators (CloogNames *n)
+{
+  return n->_iterators;
+}
+
+static inline void cloog_names_set_iterators (CloogNames *n, char **s)
+{
+  n->_iterators = s;
+}
+
+static inline char *cloog_names_iterator_elt (CloogNames *n, int i)
+{
+  return n->_iterators[i];
+}
+
+static inline void cloog_names_set_iterator_elt (CloogNames *n, int i, char *s)
+{
+  n->_iterators[i] = s;
+}
+
+static inline char **cloog_names_parameters (CloogNames *n)
+{
+  return n->_parameters;
+}
+
+static inline void cloog_names_set_parameters (CloogNames *n, char **s)
+{
+  n->_parameters = s;
+}
+
+static inline char *cloog_names_parameter_elt (CloogNames *n, int i)
+{
+  return n->_parameters[i];
+}
+
+static inline void cloog_names_set_parameter_elt (CloogNames *n, int i, char *s)
+{
+  n->_parameters[i] = s;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_names_print_structure(FILE *, CloogNames *, int) ;
+void cloog_names_print(FILE *, CloogNames *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_names_free(CloogNames *) ;
+
+
+/******************************************************************************
+ *                              Reading functions                             *
+ ******************************************************************************/
+char ** cloog_names_read_strings(FILE *, int, char *, char) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogNames * cloog_names_malloc(void);
+CloogNames * cloog_names_copy(CloogNames *names);
+CloogNames * cloog_names_alloc(int,int,int,int,char **,char **,char **,char **);
+char ** cloog_names_generate_items(int, char *, char) ;
+CloogNames * cloog_names_generate(int, int, int, int, char, char, char, char) ;
+void cloog_names_scalarize(CloogNames *, int, int *) ;
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/options.h b/include/cloog/options.h
new file mode 100644 (file)
index 0000000..881133d
--- /dev/null
@@ -0,0 +1,142 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             options.h                             **
+    **-------------------------------------------------------------------**
+    **                  First version: april 19th 2003                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_OPTIONS_H
+#define CLOOG_OPTIONS_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+/* Uncomment the following line if you want some information about
+ * maximum total allocated memory for code generation.
+#define CLOOG_MEMORY 
+ */
+#define CLOOG_SCALARS
+
+
+struct cloogoptions
+{ /* OPTIONS FOR LOOP GENERATION */
+  int l ;         /* Last level to optimize. */
+  int f ;         /* First level to optimize. */
+  int stop ;      /* Level to stop code generation. */
+  int strides ;   /* 1 if user wants to handle non-unit strides (then loop
+                   * increment can be something else than one), 0 otherwise.
+                  */
+  int sh;        /* 1 for computing simple hulls */
+
+  /* OPTIONS FOR PRETTY PRINTING */
+  int esp ;       /* 1 if user wants to spread all equalities, i.e. when there
+                   * is something like "i = 3*j + 1 ; A[i] = 0 ;" the generator
+                   * will write "A[3*j + 1] = 0 ;", 0 otherwise.
+                   */
+  int csp ;       /* 1 if user wants to spread the constant equalities,
+                   * i.e. the simple equalities like "i = M ;", "i = j ;"...
+                   * It is for performance saving with a spreading, 0 otherwise.
+                   */
+  int fsp ;       /* The iteration level where equalities spreading can begin
+                   * (it might happen that the user wants not to spread values
+                   * of scattering iterators).
+                   */
+  int otl ;       /* 1 for eliminate loops running just one time and write them
+                   * as an affectation of the iterator, 0 otherwise.
+                   */
+  int block ;     /* 1 to make one new block {...} per new dimension,
+                   * 0 otherwise.
+                   */
+  int cpp ;       /* 1 to generate a pseudo-code easily compilable by using
+                   * preprocessing, 0 otherwise.
+                   */
+  int compilable; /* 1 to generate a compilable code by using
+                   * preprocessing, 0 otherwise.
+                   */
+  int language;   /* 1 to generate FORTRAN, 0 for C otherwise. */
+
+  /* MISC OPTIONS */
+  char * name ;   /* Name of the input file. */
+  float time ;    /* Time spent for code generation in seconds. */
+#ifdef CLOOG_MEMORY
+  int memory ;    /* Memory spent for code generation in kilobytes. */
+#endif
+  /* UNDOCUMENTED OPTIONS FOR THE AUTHOR ONLY */
+  int leaks ;     /* 1 if I want to print the allocation statistics,
+                   * 0 otherwise.
+                  */
+  int nobacktrack;/* 1 if I don't want to achieve backtracking in 
+                   * Quillere's algorithm, 0 otherwise.
+                  */
+  int override ;  /* 1 if I want to bypass CLooG decisions on option correctness
+                   * (generated code may be incorrect), 0 otherwise.
+                  */
+  int structure ; /* 1 if I want to print the CloogProgram structure before the
+                   * pretty printed code, 0 otherwise.
+                  */
+  int noblocks ;  /* 1 if I don't want to make statement blocks, 0 otherwise. */
+  int noscalars ; /* 1 if I don't want to use scalar dimensions, 0 otherwise. */
+  int nosimplify; /* 1 if I don't want to simplify polyhedra, 0 otherwise. */
+} ;
+typedef struct cloogoptions CloogOptions ;
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_options_print(FILE *, CloogOptions *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_options_free(CloogOptions *) ;
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+void cloog_options_read(int, char **, FILE **, FILE **, CloogOptions **) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogOptions * cloog_options_malloc(void) ;
+
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/polylib_backend.h b/include/cloog/polylib_backend.h
new file mode 100644 (file)
index 0000000..4f37ac7
--- /dev/null
@@ -0,0 +1,60 @@
+/* Copyright (C) 2008 Sebastian Pop                                        
+
+   This is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This software is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with software; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+static inline void
+cloog_initialize (void)
+{
+}
+
+static inline void
+cloog_finalize (void)
+{
+}
+
+/* The Polyhedron structure comes directly from PolyLib (defined in
+ * polylib/types.h) here is how it looks like (at least in PolyLib 5.20.0
+ * version).
+ *
+ * typedef struct polyhedron { 
+ *   unsigned Dimension,      // Dimension number (NbColumns-2 in Matrix).
+ *            NbConstraints,  // Number of constraints (NbRows in Matrix).
+ *            NbRays,         // Number of rays in dual representation.
+ *            NbEq,           // Number of vertices (?).
+ *            NbBid;          // Number of extremal rays (?).
+ *   Value **Constraint;      // The pointers to rows in matrix representation.
+ *   Value **Ray;             // The pointers to rays in dual representation.
+ *   Value *p_Init;           // The whole data, consecutive in memory.
+ *   int p_Init_size;         // To clear values in GMP mode.
+ *   struct polyhedron *next; // Pointer to next component of the union.
+ * } Polyhedron;
+ */ 
+
+
+/**
+ * CloogDomain structure:
+ * this structure contains a polyhedron in the PolyLib shape and the number of
+ * active references to this structure. Because CLooG uses many copies of
+ * domains there is no need to actually copy these domains but just to return
+ * a pointer to them and to increment the number of active references. Each time
+ * a CloogDomain will be freed, we will decrement the active reference counter
+ * and actually free it if its value is zero.
+ */
+struct cloogdomain
+{ Polyhedron * _polyhedron ;      /**< The polyhedral domain. */
+  int _references ;               /**< Number of references to this structure. */
+} ;
+typedef struct cloogdomain CloogDomain ;
diff --git a/include/cloog/ppl_backend.h b/include/cloog/ppl_backend.h
new file mode 100644 (file)
index 0000000..72d83bd
--- /dev/null
@@ -0,0 +1,539 @@
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                            polyhedron.h                           **
+    **-------------------------------------------------------------------**
+    **                   First version: July 22th 2008                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2008 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ *                                                                            *
+ ******************************************************************************/
+
+#include <ppl_c.h>
+#include <gmp.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef CLOOG_PPL_BACKEND_H
+#define CLOOG_PPL_BACKEND_H
+
+#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 10
+# error "PPL version 0.10 or following is required"
+#endif
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+
+  extern void cloog_initialize (void);
+  static inline void cloog_finalize (void)
+  {
+    ppl_finalize ();
+  }
+
+  typedef mpz_t Value;
+#define VALUE_FMT "%s"
+
+#define value_init(val) mpz_init (val)
+#define value_assign(v1, v2) mpz_set (v1, v2)
+#define value_set_si(val, i) mpz_set_si (val, i)
+#define value_get_si(val) mpz_get_si (val)
+#define value_set_double(val, d) mpz_set_d (val, d)
+#define value_clear(val) mpz_clear (val)
+#define value_read(val, str) mpz_set_str (val, str, 10)
+#define value_print(Dst, fmt, val) {char *str; \
+    void (*gmp_free) (void *, size_t);                        \
+    str = mpz_get_str(0,10,(val));                            \
+    fprintf((Dst),(fmt),str);                                          \
+    mp_get_memory_functions(NULL, NULL, &gmp_free);                    \
+    (*gmp_free) (str, strlen(str)+1);                                  \
+                              }
+#define value_swap(val1, val2) mpz_swap (val1, val2)
+#define value_eq(v1, v2) (mpz_cmp((v1),(v2)) == 0)
+#define value_ne(v1,v2) (mpz_cmp((v1),(v2)) != 0)
+#define value_gt(v1,v2) (mpz_cmp((v1),(v2))  > 0)
+#define value_ge(v1,v2) (mpz_cmp((v1),(v2)) >= 0)
+#define value_lt(v1,v2) (mpz_cmp((v1),(v2))  < 0)
+#define value_le(v1,v2) (mpz_cmp((v1),(v2)) <= 0)
+#define value_abs_eq(v1,v2) (mpz_cmpabs((v1),(v2)) == 0)
+#define value_abs_ne(v1,v2) (mpz_cmpabs((v1),(v2)) != 0)
+#define value_abs_gt(v1,v2) (mpz_cmpabs((v1),(v2))  > 0)
+#define value_abs_ge(v1,v2) (mpz_cmpabs((v1),(v2)) >= 0)
+#define value_abs_lt(v1,v2) (mpz_cmpabs((v1),(v2))  < 0)
+#define value_abs_le(v1,v2) (mpz_cmpabs((v1),(v2)) <= 0)
+#define value_sign(val)      (mpz_sgn(val))
+#define value_compare(v1,v2) (mpz_cmp((v1),(v2)))
+#define value_addto(ref,val1,val2)     (mpz_add((ref),(val1),(val2)))
+#define value_add_int(ref,val,vint)     (mpz_add_ui((ref),(val),(long)(vint)))
+#define value_addmul(ref, val1, val2)   (mpz_addmul((ref), (val1), (val2)))
+#define value_increment(ref,val)       (mpz_add_ui((ref),(val),1))
+#define value_multiply(ref,val1,val2)  (mpz_mul((ref),(val1),(val2)))
+#define value_subtract(ref,val1,val2) (mpz_sub((ref),(val1),(val2)))
+#define value_sub_int(ref,val,vint)     (mpz_sub_ui((ref),(val),(long)(vint)))
+#define value_decrement(ref,val)       (mpz_sub_ui((ref),(val),1))
+#define value_division(ref,val1,val2)  (mpz_tdiv_q((ref),(val1),(val2)))
+#define value_modulus(ref,val1,val2)   (mpz_tdiv_r((ref),(val1),(val2)))
+#define value_pdivision(ref,val1,val2) (mpz_fdiv_q((ref),(val1),(val2)))
+#define value_pmodulus(ref,val1,val2)  (mpz_fdiv_r((ref),(val1),(val2)))
+#define value_oppose(ref,val)          (mpz_neg((ref),(val)))
+#define value_absolute(ref,val)        (mpz_abs((ref),(val)))
+#define value_pos_p(val)         (mpz_sgn(val) >  0)
+#define value_neg_p(val)         (mpz_sgn(val) <  0)
+#define value_zero_p(val)        (mpz_sgn(val) == 0)
+#define value_notzero_p(val)     (mpz_sgn(val) != 0)
+#define value_one_p(val)         (mpz_cmp_si(val,1) == 0)
+#define value_notone_p(val)      (mpz_cmp_si(val,1) != 0)
+#define value_mone_p(val)        (mpz_cmp_si(val,-1) ==0)
+#define value_notmone_p(val)     (mpz_cmp_si(val,-1) !=0)
+#define value_cmp_si(val, n)     (mpz_cmp_si(val,n))
+
+#define value_substract(ref,val1,val2) (value_subtract((ref),(val1),(val2)))
+
+  static inline void
+  cloog_vector_set (Value * ptr, int n, unsigned length)
+  {
+    unsigned i;
+
+    for (i = 0; i < length; i++, ptr++)
+      value_set_si (*ptr, n);
+  }
+
+  static inline void cloog_vector_copy (Value * p1, Value * p2, unsigned length)
+  {
+    unsigned i;
+
+    for (i = 0; i < length; i++)
+      value_assign (*p2++, *p1++);
+  }
+
+  static inline void Gcd (Value a, Value b, Value * gcd)
+  {
+    Value a1, b1;
+
+    value_init (a1), value_assign (a1, a);
+    value_init (b1), value_assign (b1, b);
+
+    while (value_notzero_p (a1))
+      {
+       value_modulus (*gcd, b1, a1);
+       value_assign (b1, a1);
+       value_assign (a1, *gcd);
+      }
+
+    value_absolute (*gcd, b1);
+    value_clear (a1);
+    value_clear (b1);
+  }
+
+
+  typedef struct
+  {
+    unsigned Size;
+    Value *p;
+  } Vector;
+
+
+  static inline void Vector_Free (Vector * vector)
+  {
+    unsigned i;
+
+    if (!vector)
+      return;
+
+    for (i = 0; i < vector->Size; i++)
+      value_clear (vector->p[i]);
+
+    free (vector->p);
+    free (vector);
+  }
+
+  typedef struct polyhedron_s
+  {
+    unsigned Dimension;
+    unsigned NbConstraints;
+    Value **Constraint;
+  } *polyhedron;
+
+  static inline unsigned cloog_pol_dim (polyhedron p)
+  {
+    return p->Dimension;
+  }
+
+  static inline unsigned cloog_pol_nbc (polyhedron p)
+  {
+    return p->NbConstraints;
+  }
+
+  typedef struct polyhedra_union_s
+  {
+    polyhedron _polyhedron;
+    struct polyhedra_union_s *_next;
+  } *polyhedra_union;
+
+  extern polyhedra_union cloog_new_upol (polyhedron);
+
+  static inline polyhedra_union cloog_upol_next (polyhedra_union p)
+  {
+    return p->_next;
+  }
+
+  static inline void
+    cloog_upol_set_next (polyhedra_union p, polyhedra_union n)
+  {
+    p->_next = n;
+  }
+
+  static inline polyhedron cloog_upol_polyhedron (polyhedra_union upol)
+  {
+    return upol->_polyhedron;
+  }
+
+  static inline void
+    cloog_upol_set_polyhedron (polyhedra_union ppl, polyhedron p)
+  {
+    ppl->_polyhedron = p;
+  }
+
+  static inline unsigned cloog_upol_dim (polyhedra_union p)
+  {
+    return cloog_pol_dim (cloog_upol_polyhedron (p));
+  }
+
+  static inline unsigned cloog_upol_nbc (polyhedra_union p)
+  {
+    return cloog_pol_nbc (cloog_upol_polyhedron (p));
+  }
+
+  static inline void cloog_upol_free (polyhedra_union upol)
+  {
+    free (upol);
+  }
+
+  typedef struct cloogdomain
+  {
+    struct polyhedra_union_s *_union;
+    int _references;
+  } CloogDomain;
+
+  static inline polyhedra_union cloog_domain_upol (CloogDomain * domain)
+  {
+    return domain->_union;
+  }
+
+  static inline polyhedron cloog_domain_polyhedron (CloogDomain * domain)
+  {
+    return cloog_upol_polyhedron (cloog_domain_upol (domain));
+  }
+
+  static inline unsigned cloog_domain_dim (CloogDomain * d)
+  {
+    return cloog_pol_dim (cloog_domain_polyhedron (d));
+  }
+
+  static inline int cloog_domain_nbconstraints (CloogDomain * domain)
+  {
+    return cloog_pol_nbc (cloog_domain_polyhedron (domain));
+  }
+
+  static inline unsigned cloog_pol_nbeq (polyhedron p)
+  {
+    unsigned i, res = 0;
+
+    for (i = 0; i < p->NbConstraints; i++)
+      res += value_zero_p (p->Constraint[i][0]) ? 1 : 0;
+
+    return res;
+  }
+
+  static inline unsigned cloog_domain_nbeq (CloogDomain * d)
+  {
+    return cloog_pol_nbeq (cloog_upol_polyhedron (cloog_domain_upol (d)));
+  }
+
+  extern Vector *Vector_Alloc (unsigned);
+
+  typedef struct cloog_matrix
+  {
+    int NbRows;
+    int NbColumns;
+    Value **p;
+  } CloogMatrix;
+
+  void cloog_matrix_print (FILE *, CloogMatrix *);
+  void cloog_matrix_free (CloogMatrix *);
+  CloogMatrix *cloog_matrix_alloc (unsigned, unsigned);
+  void cloog_matrix_print_structure (FILE *, CloogMatrix *, int);
+  CloogMatrix *cloog_matrix_read (FILE *);
+  void cloog_matrix_normalize (CloogMatrix *, int);
+  void cloog_matrix_equality_update (CloogMatrix *, int, int);
+  CloogMatrix *cloog_matrix_copy (CloogMatrix *);
+  Value *cloog_matrix_vector_copy (Value *, int);
+  Value *cloog_matrix_vector_simplify (Value *, CloogMatrix *, int, int, int);
+  CloogMatrix *cloog_matrix_simplify (CloogMatrix *, CloogMatrix *, int, int);
+  void cloog_matrix_vector_free (Value *, int);
+
+  static inline CloogMatrix *cloog_pol_matrix (polyhedron p)
+  {
+    int cols = cloog_pol_dim (p) + 2;
+    int rows = cloog_pol_nbc (p);
+    int i, j;
+    CloogMatrix *res = cloog_matrix_alloc (rows, cols);
+
+    for (i = 0; i < rows; i++)
+      for (j = 0; j < cols; j++)
+       value_assign (res->p[i][j], p->Constraint[i][j]);
+
+    return res;
+  }
+
+  static inline int cloog_matrix_ncolumns (CloogMatrix * m)
+  {
+    return m->NbColumns;
+  }
+
+  static inline int cloog_matrix_nrows (CloogMatrix * m)
+  {
+    return m->NbRows;
+  }
+
+  static inline int cloog_first_non_zero (Value * p, unsigned len)
+  {
+    Value *ptr = p;
+    unsigned i;
+
+    for (i = 0; i < len; i++, ptr++)
+      if (value_notzero_p (*ptr))
+       break;
+
+    return i == len ? -1 : (int) i;
+  }
+
+  polyhedron cloog_new_pol (int, int);
+
+  static inline polyhedron cloog_universe_polyhedron (unsigned dim)
+  {
+    polyhedron res = cloog_new_pol (dim, 1);
+
+    cloog_vector_set (res->Constraint[0], 0, dim + 2);
+    value_set_si (res->Constraint[0][0], 1);
+    value_set_si (res->Constraint[0][dim + 1], 1);
+
+    return res;
+  }
+
+  static inline polyhedron cloog_empty_polyhedron (int dim)
+  {
+    int i;
+    polyhedron res = cloog_new_pol (dim, dim + 1);
+
+    cloog_vector_set (res->Constraint[0], 0, (dim + 1) * (dim + 2));
+
+    for (i = 0; i <= dim; i++)
+      value_set_si (res->Constraint[i][i + 1], 1);
+
+    return res;
+  }
+
+  static inline void
+  cloog_matrix_exchange_rows (CloogMatrix * m, int row1, int row2)
+  {
+    int i;
+
+    for (i = 0; i < m->NbColumns; i++)
+      value_swap (m->p[row1][i], m->p[row2][i]);
+  }
+
+  static inline void cloog_vector_exchange (Value * p1, Value * p2, int len)
+  {
+    for (; len > 0; len--)
+      value_swap (p1[len - 1], p2[len - 1]);
+  }
+
+  polyhedron cloog_pol_from_matrix (CloogMatrix * m);
+
+  static inline void cloog_pol_free (polyhedron pol)
+  {
+    int n, i;
+
+    if (!pol)
+      return;
+
+    n = (cloog_pol_dim (pol) + 2) * cloog_pol_nbc (pol);
+
+    for (i = 0; i < n; i++)
+      value_clear (pol->Constraint[0][i]);
+
+    free (pol->Constraint[0]);
+    free (pol->Constraint);
+    free (pol);
+  }
+
+  polyhedron cloog_pol_copy (polyhedron pol);
+  void cloog_vector_gcd (Value *, int, Value *);
+
+  static inline int
+  cloog_pol_lexico_lt (polyhedron p, int i, int j)
+  {
+    int res = 0;
+    unsigned k;
+    Value a, b;
+
+    value_init (a), value_init (b);
+
+    for (k = 1; k < cloog_pol_dim (p) + 2; k++)
+      {
+       value_absolute (a, p->Constraint[i][k]);
+       value_absolute (b, p->Constraint[j][k]);
+
+       if (value_lt (a, b))
+         {
+           res = 1;
+           goto clear;
+         }
+
+       if (value_gt (a, b))
+         {
+           res = 0;
+           goto clear;
+         }
+
+       if (value_lt (p->Constraint[i][k], p->Constraint[j][k]))
+         {
+           res = 1;
+           goto clear;
+         }
+
+       if (value_gt (p->Constraint[i][k], p->Constraint[j][k]))
+         {
+           res = 0;
+           goto clear;
+         }
+      }
+
+  clear:
+    value_clear (a), value_clear (b);
+    return res;
+  }
+
+  static inline void
+  cloog_pol_exchange_rows (polyhedron p, int row1, int row2)
+  {
+    int i;
+    
+    for (i = 0; i < (int) cloog_pol_dim (p) + 2; i++)
+      value_swap (p->Constraint[row1][i], p->Constraint[row2][i]);
+  }
+
+  static inline void
+  cloog_pol_sort_rows (polyhedron p)
+  {
+    unsigned i, j;
+    unsigned nbeq = cloog_pol_nbeq (p);
+
+    /* First sort the equalities.  The equalities should be the first
+       rows in the matrix.  */
+    for (i = 0; i < nbeq; i++)
+      for (j = i + 1; j < nbeq; j++)
+       if (cloog_pol_lexico_lt (p, i, j))
+         cloog_pol_exchange_rows (p, i, j);
+
+    /* Sort inequalities.  */
+    for (i = nbeq; i < cloog_pol_nbc (p); i++)
+      for (j = i + 1; j < cloog_pol_nbc (p); j++)
+       if (cloog_pol_lexico_lt (p, i, j))
+         cloog_pol_exchange_rows (p, i, j);
+  }
+
+  static inline CloogMatrix *
+  cloog_upol_domain2matrix (polyhedra_union upol)
+  {
+    return cloog_pol_matrix (cloog_upol_polyhedron (upol));
+  }
+
+  static inline CloogMatrix *
+  cloog_domain_domain2matrix (CloogDomain *d)
+  {
+    return cloog_pol_matrix (cloog_domain_polyhedron (d));
+  }
+
+  static inline void
+  cloog_vector_normalize (Value * p, unsigned len)
+  {
+    unsigned i;
+    Value *ptr, gcd, one;
+
+    value_init (gcd);
+    cloog_vector_gcd (p, len, &gcd);
+    value_init (one);
+    value_set_si (one, 1);
+
+    if (value_gt (gcd, one))
+      for (ptr = p, i = 0; i < len; i++, ptr++)
+       value_division (*ptr, *ptr, gcd);
+
+    value_clear (one), value_clear (gcd);
+  }
+
+  static inline void cloog_vector_scale (Value * p1, Value * p2,
+                                        Value x,
+                                        unsigned length)
+  {
+    unsigned i;
+
+    for (i = 0; i < length; i++)
+      value_multiply (*p2++, *p1++, x);
+  }
+
+  static inline void
+  cloog_vector_combine (Value * p1, Value * p2, Value * p3, Value x,
+                       Value y, unsigned length)
+  {
+    Value tmp;
+    unsigned i;
+
+    value_init (tmp);
+
+    for (i = 0; i < length; i++)
+      {
+       value_multiply (tmp, x, p1[i]);
+       value_addmul (tmp, y, p2[i]);
+       value_assign (p3[i], tmp);
+      }
+
+    value_clear (tmp);
+  }
+
+  extern void debug_poly (polyhedron);
+  extern void debug_ppl_poly (ppl_Polyhedron_t);
+  extern void debug_cloog_matrix (CloogMatrix *);
+  extern void debug_cloog_domain (CloogDomain *);
+  extern void debug_value (Value);
+  extern void debug_values (Value *, int);
+
+#if defined(__cplusplus)
+}
+#endif
+#endif /* define _H */
diff --git a/include/cloog/pprint.h b/include/cloog/pprint.h
new file mode 100644 (file)
index 0000000..4a28528
--- /dev/null
@@ -0,0 +1,67 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             pprint.h                              **
+    **-------------------------------------------------------------------**
+    **                 First version: october 26th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_PPRINT_H
+#define CLOOG_PPRINT_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+# define MAX_STRING_VAL 32
+# define INDENT_STEP 2
+# define ONE_TIME_LOOP -1
+
+# define EQTYPE_CONSTANT 1
+# define EQTYPE_PUREITEM 2
+# define EQTYPE_EXAFFINE 3
+
+# define LANGUAGE_C 0
+# define LANGUAGE_FORTRAN 1
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void pprint(FILE *foo, struct clast_stmt *root, int indent, 
+           CloogOptions *options);
+
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/program.h b/include/cloog/program.h
new file mode 100644 (file)
index 0000000..ac563c3
--- /dev/null
@@ -0,0 +1,200 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                            program.h                              **
+    **-------------------------------------------------------------------**
+    **                 First version: october 25th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_PROGRAM_H
+#define CLOOG_PROGRAM_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+# define MAX_STRING 1024
+# define MEGA 1000000  /* One million. */
+
+
+/**
+ * CloogProgram structure:
+ * this structure contains all the informations of a program generated or to be
+ * generated.  Never access this structure directly: use the function interface below.
+ */
+struct cloogprogram
+{ /* Basic program description fields. */
+  char _language ;              /**< The language of the program. */
+  int _nb_scattdims ;          /**< Scattering dimension number. */
+  CloogDomain    * _context ;   /**< The context of the program. */
+  CloogLoop      * _loop ;      /**< The loops of the program. */
+  CloogNames     * _names ;     /**< Iterators and parameters names. */
+  CloogBlockList * _blocklist ; /**< The statement block list. */
+  
+  /* Internal service fields, filled up by cloog_program_scatter function. */
+  int * _scaldims ;             /**< Boolean array saying whether a given
+                                *   scattering dimension is scalar or not.
+                               */
+  /* Library user reserved field. */
+  void * _usr;                /**< User field, for library user convenience.
+                               *   This pointer is not freed when the
+                               *   CloogProgram structure is freed.
+                               */
+} ;
+typedef struct cloogprogram CloogProgram ;
+
+
+static inline char cloog_program_language (CloogProgram *p)
+{
+  return p->_language;
+}
+
+static inline void cloog_program_set_language (CloogProgram *p, char c)
+{
+  p->_language = c;
+}
+
+static inline int cloog_program_nb_scattdims (CloogProgram *p)
+{
+  return p->_nb_scattdims;
+}
+
+static inline void cloog_program_set_nb_scattdims (CloogProgram *p, int n)
+{
+  p->_nb_scattdims = n;
+}
+
+static inline CloogDomain *cloog_program_context (CloogProgram *p)
+{
+  return p->_context;
+}
+
+static inline void cloog_program_set_context (CloogProgram *p, CloogDomain *c)
+{
+  p->_context = c;
+}
+
+static inline CloogLoop *cloog_program_loop (CloogProgram *p)
+{
+  return p->_loop;
+}
+
+static inline void cloog_program_set_loop (CloogProgram *p, CloogLoop *l)
+{
+  p->_loop = l;
+}
+
+static inline CloogNames *cloog_program_names (CloogProgram *p)
+{
+  return p->_names;
+}
+
+static inline void cloog_program_set_names (CloogProgram *p, CloogNames *n)
+{
+  p->_names = n;
+}
+
+static inline CloogBlockList *cloog_program_blocklist (CloogProgram *p)
+{
+  return p->_blocklist;
+}
+
+static inline void cloog_program_set_blocklist (CloogProgram *p, CloogBlockList *b)
+{
+  p->_blocklist = b;
+}
+
+static inline int *cloog_program_scaldims (CloogProgram *p)
+{
+  return p->_scaldims;
+}
+
+static inline void cloog_program_set_scaldims (CloogProgram *p, int *s)
+{
+  p->_scaldims = s;
+}
+
+static inline int cloog_program_scaldim (CloogProgram *p, int i)
+{
+  return p->_scaldims[i];
+}
+
+static inline void cloog_program_set_scaldim (CloogProgram *p, int i, int k)
+{
+  p->_scaldims[i] = k;
+}
+
+static inline void *cloog_program_usr (CloogProgram *p)
+{
+  return p->_usr;
+}
+
+static inline void cloog_program_set_usr (CloogProgram *p, void *u)
+{
+  p->_usr = u;
+}
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_program_print_structure(FILE *, CloogProgram *, int) ;
+void cloog_program_print(FILE *, CloogProgram *) ;
+void cloog_program_pprint(FILE *, CloogProgram *, CloogOptions *) ;
+void cloog_program_dump_cloog(FILE *, CloogProgram *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_program_free(CloogProgram *) ;
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+CloogProgram * cloog_program_read(FILE *, CloogOptions *) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogProgram * cloog_program_malloc(void);
+CloogProgram * cloog_program_generate(CloogProgram *, CloogOptions *) ;
+void cloog_program_block(CloogProgram *, CloogDomainList *) ;
+void cloog_program_extract_scalars(CloogProgram *program, CloogDomainList *) ;
+void cloog_program_scatter(CloogProgram *, CloogDomainList *) ;
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
+
diff --git a/include/cloog/statement.h b/include/cloog/statement.h
new file mode 100644 (file)
index 0000000..52204bb
--- /dev/null
@@ -0,0 +1,112 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                           statement.h                             **
+    **-------------------------------------------------------------------**
+    **                  First version: november 4th 2001                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_STATEMENT_H
+#define CLOOG_STATEMENT_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+struct cloogstatement
+{ int _number ;                   /* The statement unique number. */
+  void *_usr ;                   /* A pointer for library users convenience. */
+  struct cloogstatement *_next ; /* Pointer to the next statement with the
+                                  * same original domain and the same
+                                 * scattering function.
+                                 */
+} ;
+typedef struct cloogstatement CloogStatement ;
+
+
+static inline int cloog_statement_number (CloogStatement *s)
+{
+  return s->_number;
+}
+
+static inline void cloog_statement_set_number (CloogStatement *s, int n)
+{
+  s->_number = n;
+}
+
+static inline void *cloog_statement_usr (CloogStatement *s)
+{
+  return s->_usr;
+}
+
+static inline void cloog_statement_set_usr (CloogStatement *s, void *u)
+{
+  s->_usr = u;
+}
+
+static inline CloogStatement *cloog_statement_next (CloogStatement *s)
+{
+  return s->_next;
+}
+
+static inline void cloog_statement_set_next (CloogStatement *s, CloogStatement *n)
+{
+  s->_next = n;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void cloog_statement_print_structure(FILE *, CloogStatement *, int) ;
+void cloog_statement_print(FILE *, CloogStatement *) ;
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+void cloog_statement_free(CloogStatement *) ;
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+CloogStatement * cloog_statement_malloc(void);
+CloogStatement * cloog_statement_alloc(int) ;
+CloogStatement * cloog_statement_copy(CloogStatement *) ;
+void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ;
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
+
diff --git a/include/cloog/version.h b/include/cloog/version.h
new file mode 100644 (file)
index 0000000..537d256
--- /dev/null
@@ -0,0 +1,70 @@
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2008 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_VERSION_H
+#define CLOOG_VERSION_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+#define CLOOG_BITS "64"
+
+/* The major number of the CLooG version.  */
+#define CLOOG_VERSION_MAJOR 0
+
+/* The minor number of the CLooG version.  */
+#define CLOOG_VERSION_MINOR 15
+
+/* The revision number of the CLooG version.  */
+#define CLOOG_VERSION_REVISION 10
+
+/* The beta number of the CLooG version.  This is zero for official
+   releases and nonzero for development snapshots.  */
+#define CLOOG_VERSION_BETA 0
+
+/* A string containing the CLooG version.
+
+  Let M and m denote the numbers associated to CLooG_VERSION_MAJOR and
+  CLooG_VERSION_MINOR, respectively.  The format of CLooG_VERSION is M
+  "." m if both CLooG_VERSION_REVISION (r) and CLooG_VERSION_BETA
+  (b) are zero, M "." m "pre" b if CLooG_VERSION_REVISION is zero and
+  CLooG_VERSION_BETA is not zero, M "." m "." r if
+  CLooG_VERSION_REVISION is not zero and CLooG_VERSION_BETA is zero, M
+  "." m "." r "pre" b if neither CLooG_VERSION_REVISION nor
+  CLooG_VERSION_BETA are zero.  */
+#define CLOOG_VERSION "0.15"
+
+extern int ppl_version_major (void);
+extern int ppl_version_minor (void);
+extern int ppl_version_revision (void);
+extern int ppl_version_beta (void);
+extern const char *cloog_version(void);
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/include/cloog/version.h.in b/include/cloog/version.h.in
new file mode 100644 (file)
index 0000000..e5f9d65
--- /dev/null
@@ -0,0 +1,70 @@
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2008 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_VERSION_H
+#define CLOOG_VERSION_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+#define CLOOG_BITS "@BITS@"
+
+/* The major number of the CLooG version.  */
+#define CLOOG_VERSION_MAJOR @CLOOG_VERSION_MAJOR@
+
+/* The minor number of the CLooG version.  */
+#define CLOOG_VERSION_MINOR @CLOOG_VERSION_MINOR@
+
+/* The revision number of the CLooG version.  */
+#define CLOOG_VERSION_REVISION @CLOOG_VERSION_REVISION@
+
+/* The beta number of the CLooG version.  This is zero for official
+   releases and nonzero for development snapshots.  */
+#define CLOOG_VERSION_BETA @CLOOG_VERSION_BETA@
+
+/* A string containing the CLooG version.
+
+  Let M and m denote the numbers associated to CLOOG_VERSION_MAJOR and
+  CLOOG_VERSION_MINOR, respectively.  The format of CLOOG_VERSION is M
+  "." m if both CLOOG_VERSION_REVISION (r) and CLOOG_VERSION_BETA
+  (b) are zero, M "." m "pre" b if CLOOG_VERSION_REVISION is zero and
+  CLOOG_VERSION_BETA is not zero, M "." m "." r if
+  CLOOG_VERSION_REVISION is not zero and CLOOG_VERSION_BETA is zero, M
+  "." m "." r "pre" b if neither CLOOG_VERSION_REVISION nor
+  CLOOG_VERSION_BETA are zero.  */
+#define CLOOG_VERSION "@VERSION@"
+
+extern int cloog_version_major (void);
+extern int cloog_version_minor (void);
+extern int cloog_version_revision (void);
+extern int cloog_version_beta (void);
+extern const char *cloog_version(void);
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/source/block.c b/source/block.c
new file mode 100644 (file)
index 0000000..37f6f12
--- /dev/null
@@ -0,0 +1,429 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             block.c                               **
+    **-------------------------------------------------------------------**
+    **                   First version: june 11th 2005                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+# include <stdlib.h>
+# include <stdio.h>
+# include "../include/cloog/cloog.h"
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many CloogBlock structures had been allocated
+ * (cloog_block_allocated) and how many had been freed (cloog_block_freed).
+ * Each time a CloogBlock structure is allocated, a call to the function
+ * cloog_block_leak_up() must be carried out, and respectively
+ * cloog_block_leak_down() when a CloogBlock structure is freed. The special
+ * variable cloog_block_max gives the maximal number of CloogBlock structures
+ * simultaneously alive (i.e. allocated and non-freed) in memory.
+ * - June 11th 2005: first version.
+ */
+
+
+int cloog_block_allocated = 0 ;
+int cloog_block_freed = 0 ;
+int cloog_block_max = 0 ;
+
+
+static void cloog_block_leak_up (void)
+{ cloog_block_allocated ++ ;
+  if ((cloog_block_allocated - cloog_block_freed) > cloog_block_max)
+  cloog_block_max = cloog_block_allocated - cloog_block_freed ;
+}
+
+
+static void cloog_block_leak_down (void)
+{ cloog_block_freed ++ ;
+}
+
+static inline int cloog_block_references (CloogBlock *b)
+{
+  return b->_references;
+}
+
+static inline void cloog_block_init_references (CloogBlock *b)
+{
+  b->_references = 1;
+}
+
+static inline void cloog_block_inc_references (CloogBlock *b)
+{
+  b->_references++;
+}
+
+static inline void cloog_block_dec_references (CloogBlock *b)
+{
+  b->_references--;
+}
+
+
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_print_structure :
+ * this function is a human-friendly way to display the CloogDomain data
+ * structure, it includes an indentation level (level) in order to work with
+ * others print_structure functions.
+ * - June  16th 2005: first version.
+ */
+void cloog_block_print_structure(FILE * file, CloogBlock * block, int level)
+{ int i ;
+  
+  /* Go to the right level. */
+  for (i=0; i<level; i++)
+  fprintf(file,"|\t") ;
+    
+  if (block != NULL)
+  { fprintf(file,"+-- CloogBlock\n") ;
+   
+    /* A blank line. */
+    for (i=0; i<level+2; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;    
+
+    /* Print statement list. */
+    cloog_statement_print_structure(file,cloog_block_stmt (block),level+1) ;
+    
+    /* A blank line. */
+    for (i=0; i<level+2; i++)
+    fprintf(file,"|\t") ;    
+    fprintf(file,"\n") ;    
+  
+    /* A blank line. */
+    for (i=0; i<level+2; i++)
+    fprintf(file,"|\t") ;    
+    fprintf(file,"\n") ;    
+
+    /* Print scalar dimensions. */
+    for (i=0; i<level+1; i++)
+    fprintf(file,"|\t") ;
+    
+    if (cloog_block_nb_scaldims (block) == 0)
+    fprintf(file,"No scalar dimensions\n") ;
+    else
+      {
+       fprintf (file, "Scalar dimensions (%d):", cloog_block_nb_scaldims (block));
+       for (i = 0; i < cloog_block_nb_scaldims (block); i++)
+         value_print (file, " "VALUE_FMT, block->scaldims[i]);
+       fprintf (file, "\n");
+      }
+    
+    /* A blank line. */
+    for (i=0; i<level+2; i++)
+    fprintf(file,"|\t") ;    
+    fprintf(file,"\n") ;    
+
+    /* Print depth. */
+    for (i=0; i<level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf (file, "Depth: %d\n", cloog_block_depth (block));
+    
+    /* A blank line. */
+    for (i=0; i<level+1; i++)
+    fprintf(file,"|\t") ;   
+    fprintf(file,"\n") ;    
+  }
+  else
+  fprintf(file,"+-- Null CloogBlock\n") ;
+}
+
+
+/**
+ * cloog_block_print function:
+ * This function prints the content of a CloogBlock structure (block) into a
+ * file (file, possibly stdout).
+ * - June 11th 2005: first version.
+ * - June  16th 2005: now just a call to cloog_block_print_structure.
+ */
+void cloog_block_print(FILE * file, CloogBlock * block)
+{ cloog_block_print_structure(file,block,0) ;  
+}
+
+
+/**
+ * cloog_block_list_print function:
+ * This function prints the content of a CloogBlock structure (block) into a
+ * file (file, possibly stdout).
+ * - June 16th 2005: first version.
+ */
+void cloog_block_list_print(FILE * file, CloogBlockList * blocklist)
+{ int i=0 ;
+  
+  while (blocklist != NULL)
+    {
+      fprintf(file,"+-- CloogBlockList node %d\n",i) ;
+      cloog_block_print_structure (file, cloog_block_list_block (blocklist), 1);
+      blocklist = cloog_block_list_next (blocklist);
+      i++ ;
+    }
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_block_free function:
+ * This function frees the allocated memory for a CloogStatement structure.
+ * - June 11th 2005: first version.
+ * - June 30th 2005: scaldims field management.
+ */
+void cloog_block_free(CloogBlock * block)
+{ int i ;
+
+  if (block != NULL)
+    {
+      cloog_block_dec_references (block);
+    
+      if (cloog_block_references (block) == 0)
+       { cloog_block_leak_down() ;
+         if (cloog_block_scaldims (block))
+           {
+             for (i = 0; i < cloog_block_nb_scaldims (block); i++)
+               value_clear_c (block->scaldims[i]);
+      
+             free (cloog_block_scaldims (block)) ;
+           }
+         cloog_statement_free(cloog_block_stmt (block)) ;
+         free(block) ;
+       }
+    }
+}
+
+
+/**
+ * cloog_block_list_free function:
+ * This function frees the allocated memory for a CloogBlockList structure.
+ * - June 11th 2005: first version.
+ */
+void cloog_block_list_free(CloogBlockList * blocklist)
+{ CloogBlockList * temp ;
+  
+  while (blocklist != NULL)
+    {
+      temp = cloog_block_list_next (blocklist);
+      cloog_block_free (cloog_block_list_block (blocklist));
+      free(blocklist) ;
+      blocklist = temp ;
+    }
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+/**
+ * cloog_block_malloc function:
+ * This function allocates the memory space for a CloogBlock structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogBlock * cloog_block_malloc (void)
+{ CloogBlock * block ;
+  
+  /* Memory allocation for the CloogBlock structure. */
+  block = (CloogBlock *)malloc(sizeof(CloogBlock)) ;
+  if (block == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  cloog_block_leak_up() ;
+  
+  /* We set the various fields with default values. */
+  cloog_block_set_stmt (block, NULL);
+  cloog_block_set_nb_scaldims (block, 0);
+  cloog_block_set_scaldims (block, NULL);
+  cloog_block_set_depth (block, 0);
+  cloog_block_init_references (block);
+  cloog_block_set_usr (block, NULL);
+  
+  return block ;
+}  
+
+
+/**
+ * cloog_block_alloc function:
+ * This function allocates the memory space for a CloogBlock structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space. The two parameters nb_scaldims and scaldims are for internal
+ * service, put to respectively 0 and NULL if you don't know what they are
+ * useful for !
+ * - statement is the statement list of the block,
+ * - nb_scaldims is the number of scalar dimensions (0 if unsure !),
+ * - scaldims is the array with the scalar dimensions values (NULL if unsure !),
+ * - depth is the original block depth (the number of outer loops).
+ **
+ * - June     11th 2005: first version.
+ * - June     30th 2005: addition of the nb_scaldims and scaldims parameters.
+ * - November 21th 2005: use of cloog_block_malloc.
+ */
+CloogBlock * cloog_block_alloc(CloogStatement * statement, int nb_scaldims,
+                              Value * scaldims, int depth)
+{
+  CloogBlock * block ;
+    
+  /* Block allocation. */
+  block = cloog_block_malloc() ;
+
+  cloog_block_set_stmt (block, statement);
+  cloog_block_set_nb_scaldims (block, nb_scaldims);
+  cloog_block_set_scaldims (block, scaldims);
+  cloog_block_set_depth (block, depth);
+  cloog_block_init_references (block);
+  
+  return block ;
+}
+
+
+/**
+ * cloog_block_list_malloc function:
+ * This function allocates the memory space for a CloogBlockList structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogBlockList * cloog_block_list_malloc (void)
+{
+  CloogBlockList * blocklist ;
+  
+  /* Memory allocation for the CloogBlock structure. */
+  blocklist = (CloogBlockList *)malloc(sizeof(CloogBlockList)) ;
+  if (blocklist == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  /* We set the various fields with default values. */
+  cloog_block_list_set_block (blocklist, NULL);
+  cloog_block_list_set_next (blocklist, NULL);
+  
+  return blocklist ;
+}  
+
+
+/**
+ * cloog_block_list_alloc function:
+ * This function allocates the memory space for a CloogBlockList structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space.
+ * - block is the block element of the list node,
+ **
+ * - June     11th 2005: first version.
+ * - November 21th 2005: use of cloog_block_list_malloc.
+ */
+CloogBlockList * cloog_block_list_alloc(CloogBlock * block)
+{ CloogBlockList * blocklist ;
+  
+  /* Block list node allocation. */
+  blocklist = cloog_block_list_malloc() ;
+
+  cloog_block_list_set_block (blocklist, block);
+  cloog_block_inc_references (cloog_block_list_block (blocklist)); /* The block has a new reference to it. */
+  cloog_block_list_set_next (blocklist, NULL);
+  
+  return blocklist ;
+}
+
+
+/**
+ * cloog_block_copy function:
+ * This function returns a copy of a CloogBlock structure 'block'. To save
+ * memory this is not a memory copy but we increment a counter of active
+ * references inside the structure, then return a pointer to that structure.
+ */ 
+CloogBlock * cloog_block_copy(CloogBlock * block)
+{ if (block == NULL)
+  return NULL ;
+
+  cloog_block_inc_references (block);
+  return block ;
+}
+
+
+/**
+ * cloog_block_merge function:
+ * this function adds at the end of the statement list of the block 'block',
+ * the statement list of the block 'merged'. Then the  CloogBlock structure
+ * of 'merged' is freed (obviously not its statement list that is now
+ * included in 'block').
+ * - June 11th 2005: first version.
+ */
+void cloog_block_merge(CloogBlock * block, CloogBlock * merged)
+{ CloogStatement * statement ;
+
+  if ((block == NULL) || (merged == NULL))
+  return ;
+  
+  if (cloog_block_stmt (block))
+    {
+      statement = cloog_block_stmt (block) ;
+    
+      while (cloog_statement_next (statement))
+       statement = cloog_statement_next (statement) ;
+    
+      cloog_statement_set_next (statement, cloog_block_stmt (merged));
+    }
+  else
+    cloog_block_set_stmt (block, cloog_block_stmt (merged));
+
+  cloog_block_leak_down() ;
+  free(merged) ;
+}
+
+
+
+
+
+
+
+
+
+
diff --git a/source/cloog.c b/source/cloog.c
new file mode 100644 (file)
index 0000000..204c6aa
--- /dev/null
@@ -0,0 +1,123 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             cloog.c                               **
+    **-------------------------------------------------------------------**
+    **       First version: october 25th 2001, CLooG's birth date !      **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                  *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                         *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include "../include/cloog/cloog.h"
+
+/** Extern global variables for memory leak hunt. */
+extern int cloog_domain_allocated ;
+extern int cloog_domain_freed ;
+extern int cloog_domain_max ;
+extern int cloog_loop_allocated ;
+extern int cloog_loop_freed ;
+extern int cloog_loop_max ;
+extern int cloog_statement_allocated ;
+extern int cloog_statement_freed ;
+extern int cloog_statement_max ;
+extern int cloog_matrix_allocated ;
+extern int cloog_matrix_freed ;
+extern int cloog_matrix_max ;
+extern int cloog_block_allocated ;
+extern int cloog_block_freed ;
+extern int cloog_block_max ;
+extern int cloog_value_allocated ;
+extern int cloog_value_freed ;
+extern int cloog_value_max ;
+
+
+int main(int argv, char * argc[])
+{ CloogProgram * program ;
+  CloogOptions * options ;
+  FILE * input, * output ;
+
+  cloog_initialize ();
+   
+  /* Options and input/output file setting. */
+  cloog_options_read(argv,argc,&input,&output,&options) ;
+
+  /* Reading the program informations. */
+  program = cloog_program_read(input,options) ;
+  fclose(input) ;
+  
+  /* Generating and printing the code. */
+  program = cloog_program_generate(program,options) ;
+  if (options->structure)
+  cloog_program_print(stdout,program) ;
+  cloog_program_pprint(output,program,options) ;
+  cloog_program_free(program) ;
+
+  /* Printing the allocation statistics if asked. */
+  if (options->leaks)
+  { fprintf(output,"/* Matrices   : allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_matrix_allocated,cloog_matrix_freed,cloog_matrix_max) ;
+    fprintf(output,"/* Domains    : allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_domain_allocated,cloog_domain_freed,cloog_domain_max);
+    fprintf(output,"/* Loops      : allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_loop_allocated,cloog_loop_freed,cloog_loop_max) ;
+    fprintf(output,"/* Statements : allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_statement_allocated,cloog_statement_freed,cloog_statement_max);
+    fprintf(output,"/* Blocks     : allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_block_allocated,cloog_block_freed,cloog_block_max) ;
+    fprintf(output,"/* Value (GMP): allocated=%5d, freed=%5d, max=%5d. */\n",
+           cloog_value_allocated,cloog_value_freed,cloog_value_max) ;
+  }
+
+  /* Cloog should never print to stderr.  */
+  /* Inform the user in case of a problem with the allocation statistics.
+     if ((cloog_matrix_allocated    != cloog_matrix_freed)    ||
+     (cloog_domain_allocated    != cloog_domain_freed)    ||
+     (cloog_loop_allocated      != cloog_loop_freed)      ||
+     (cloog_statement_allocated != cloog_statement_freed) ||
+     (cloog_block_allocated     != cloog_block_freed)     ||
+     (cloog_value_allocated     != cloog_value_freed))
+     { fprintf(stderr,
+     "[CLooG]INFO: an internal problem has been detected (it should have"
+     " no\n             consequence on the correctness of the output)."
+     " Please send (if\n            you can) your input file, the first line "
+     "given by typing 'cloog -v'\n          and your full command ") ;
+     fprintf(stderr,
+     "line call to CLooG including options to\n             <cedric.bastoul"
+     "@inria.fr>. Thank you for your participation to get\n"
+     "      CLooG better and safer.\n") ;
+     } */
+
+  cloog_options_free(options) ;
+  cloog_finalize ();
+  fclose(output) ;
+  return 0;
+}
+
diff --git a/source/loop.c b/source/loop.c
new file mode 100644 (file)
index 0000000..68ddc67
--- /dev/null
@@ -0,0 +1,1670 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             loop.c                                **
+    **-------------------------------------------------------------------**
+    **                  First version: october 26th 2001                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+# include <stdlib.h>
+# include <stdio.h>
+# include "../include/cloog/cloog.h"
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many CloogLoop structures had been allocated
+ * (cloog_loop_allocated) and how many had been freed (cloog_loop_freed).
+ * Each time a CloogLoog structure is allocated, a call to the function
+ * cloog_loop_leak_up() must be carried out, and respectively
+ * cloog_loop_leak_down() when a CloogLoop structure is freed. The special
+ * variable cloog_loop_max gives the maximal number of CloogLoop structures
+ * simultaneously alive (i.e. allocated and non-freed) in memory.
+ * - July 3rd->11th 2003: first version (memory leaks hunt and correction).
+ */
+extern int cloog_value_allocated ;
+extern int cloog_value_freed ;
+extern int cloog_value_max ;
+
+
+int cloog_loop_allocated = 0 ;
+int cloog_loop_freed = 0 ;
+int cloog_loop_max = 0 ;
+
+
+static void cloog_loop_leak_up (void)
+{
+  cloog_loop_allocated ++ ;
+  if ((cloog_loop_allocated-cloog_loop_freed) > cloog_loop_max)
+  cloog_loop_max = cloog_loop_allocated - cloog_loop_freed ;
+}
+
+
+static void cloog_loop_leak_down (void)
+{ cloog_loop_freed ++ ;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_print_structure function:
+ * Displays a loop structure in a way that trends to be understandable without
+ * falling in a deep depression or, for the lucky ones, getting a headache... 
+ * Written by Olivier Chorier, Luc Marchaud, Pierre Martin and Romain Tartiere.
+ * - April 24th 2005: Initial version.
+ * - May   21rd 2005: - New parameter `F' for destination file (ie stdout),
+ *                    - Minor tweaks.
+ * - May   26th 2005: Memory leak hunt.
+ * - June   2nd 2005: (Ced) Integration and minor fixes.
+ * -June  22nd 2005: (Ced) Adaptation for GMP.
+ */
+void cloog_loop_print_structure(FILE * file, CloogLoop * loop, int level)
+{ int i, j, first=1 ;
+
+  if (loop)
+  { /* Go to the right level. */
+    for (i=0; i<level; i++)
+    fprintf(file,"|\t") ;
+    
+    fprintf(file,"+-- CloogLoop\n") ;
+  }
+  
+  /* For each loop. */
+  while (loop)
+  { if (!first)
+    { /* Go to the right level. */
+      for (i=0; i<level; i++)
+      fprintf(file,"|\t") ;
+    
+      fprintf(file,"|   CloogLoop\n") ;
+    }
+    else
+    first = 0 ;
+    
+    /* A blank line. */
+    for(j=0; j<=level+1; j++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the domain. */
+    cloog_domain_print_structure(file,cloog_loop_domain (loop),level+1) ;
+    
+    /* Print the stride. */
+    for(j=0; j<=level; j++)
+    fprintf(file,"|\t") ;
+    fprintf(file, "Stride: ") ;
+    value_print(file,VALUE_FMT,loop->stride) ;
+    fprintf(file, "\n") ;
+        
+    /* A blank line. */
+    for(j=0; j<=level+1; j++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+    
+    /* Print the block. */
+    cloog_block_print_structure(file,cloog_loop_block (loop),level+1) ;
+    
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;  
+    fprintf(file,"\n") ;
+    
+    /* Print inner if any. */
+    if (cloog_loop_inner (loop))
+      cloog_loop_print_structure (file,cloog_loop_inner (loop), level + 1);
+    
+    /* And let's go for the next one. */
+    loop = cloog_loop_next (loop) ;
+
+    /* One more time something that is here only for a better look. */
+    if (!loop)
+    { /* Two blank lines if this is the end of the linked list. */
+      for (j=0; j<2; j++)
+      { for (i=0; i<=level; i++)
+        fprintf(file,"|\t") ;
+      
+        fprintf(file,"\n") ;
+      }
+    }
+    else
+    { /* A special blank line if the is a next loop. */
+      for (i=0; i<=level; i++)
+      fprintf(file,"|\t") ;  
+      fprintf(file,"V\n") ;
+    }
+  }
+}
+
+
+/**
+ * cloog_loop_print function:
+ * This function prints the content of a CloogLoop structure (start) into a
+ * file (file, possibly stdout).
+ * - June 2nd 2005: Now this very old function (probably as old as CLooG) is
+ *                  only a frontend to cloog_loop_print_structure, with a quite
+ *                  better human-readable representation.
+ */
+void cloog_loop_print(FILE * file, CloogLoop * loop)
+{ cloog_loop_print_structure(file,loop,0) ;
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_free function:
+ * This function frees the allocated memory for a CloogLoop structure (loop),
+ * and frees its inner loops and its next loops.
+ * - June 22nd 2005: Adaptation for GMP.
+ */
+void cloog_loop_free(CloogLoop * loop)
+{ CloogLoop * next ;
+  
+  while (loop != NULL)
+  { cloog_loop_leak_down() ;
+    
+    next = cloog_loop_next (loop) ;
+    cloog_domain_free(cloog_loop_domain (loop)) ;
+    cloog_block_free(cloog_loop_block (loop)) ;
+    if (cloog_loop_inner (loop))
+      cloog_loop_free (cloog_loop_inner (loop));
+    
+    value_clear_c (loop->stride);
+    free(loop) ;
+    loop = next ;
+  }
+}
+
+
+/**
+ * cloog_loop_free_parts function:
+ * This function frees the allocated memory for some parts of a CloogLoop
+ * structure (loop), each other argument is a boolean having to be set to 1 if
+ * we want to free the corresponding part, 0 otherwise. This function applies
+ * the same freeing policy to its inner ans next loops recursively.
+ * - July  3rd 2003: first version.
+ * - June 22nd 2005: Adaptation for GMP.
+ */
+static void
+cloog_loop_free_parts (CloogLoop *loop, int domain, int block,
+                      int inner, int next)
+{
+  CloogLoop * follow ;
+
+  while (loop != NULL)
+  { cloog_loop_leak_down() ;
+    follow = cloog_loop_next (loop) ;
+    
+    if (domain)
+      cloog_domain_free(cloog_loop_domain (loop)) ;
+       
+    if (block)
+      cloog_block_free(cloog_loop_block (loop)) ;
+     
+    if (inner && cloog_loop_inner (loop))
+      cloog_loop_free_parts (cloog_loop_inner (loop), domain, block, inner, 1);
+    
+    value_clear_c (loop->stride);
+    free(loop) ;
+    if (next)
+    loop = follow ;
+    else
+    loop = NULL ;
+  }
+}
+
+
+/******************************************************************************
+ *                              Reading functions                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_read function:
+ * This function reads loop data into a file (foo, possibly stdin) and
+ * returns a pointer to a CloogLoop structure containing the read information.
+ * This function can be used only for input file reading, when one loop is
+ * associated with one statement.
+ * - number is the statement block number carried by the loop (-1 if none).
+ * - nb_parameters is the number of parameters.
+ **
+ * - September 9th 2002: first version.
+ * - April    16th 2005: adaptation to new CloogStatement struct (with number).
+ * - June     11th 2005: adaptation to new CloogBlock structure. 
+ * - June     22nd 2005: Adaptation for GMP.
+ */
+CloogLoop * cloog_loop_read(FILE * foo, int number, int nb_parameters)
+{ int nb_iterators, op1, op2, op3 ;
+  char s[MAX_STRING] ;
+  CloogLoop * loop ;
+  CloogStatement * statement ;
+
+  cloog_loop_leak_up() ;
+  
+  /* Memory allocation and information reading for the first domain: */
+  loop = (CloogLoop *)malloc(sizeof(CloogLoop)) ;
+  if (loop == NULL) 
+  { fprintf(stderr, "Memory Overflow.\n") ;
+    exit(1) ;
+  }
+  /* domain. */
+  cloog_loop_set_domain (loop, cloog_domain_union_read (foo));
+  if (cloog_loop_domain (loop))
+    nb_iterators = cloog_domain_dim (cloog_loop_domain (loop)) - nb_parameters ;
+  else
+    nb_iterators = 0 ;
+  /* stride is initialized to 1. */
+  value_init_c (loop->stride);
+  value_set_si (loop->stride, 1);
+  /* included statement block. */
+  statement = cloog_statement_alloc(number+1);
+  cloog_loop_set_block (loop, cloog_block_alloc (statement, 0, NULL, nb_iterators));
+  cloog_loop_set_usr (loop, NULL);
+  /* inner is NULL at beginning. */
+  cloog_loop_set_inner (loop, NULL);
+  /* next element. */
+  cloog_loop_set_next (loop, NULL);  
+    
+  /* To read that stupid "0 0 0" line. */
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %d %d %d",&op1,&op2,&op3)<3))
+  fgets(s,MAX_STRING,foo) ;
+
+  return loop ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_malloc function:
+ * This function allocates the memory space for a CloogLoop structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogLoop * cloog_loop_malloc (void)
+{
+  CloogLoop * loop ;
+  
+  /* Memory allocation for the CloogLoop structure. */
+  loop = (CloogLoop *)malloc(sizeof(CloogLoop)) ;
+  if (loop == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  cloog_loop_leak_up() ;
+  
+  /* We set the various fields with default values. */
+  cloog_loop_set_domain (loop, NULL);
+  cloog_loop_set_block (loop, NULL);
+  cloog_loop_set_usr (loop, NULL);
+  cloog_loop_set_inner (loop, NULL);
+  cloog_loop_set_next (loop, NULL);
+  value_init_c (loop->stride);
+  value_set_si (loop->stride, 1);
+  
+  return loop ;
+}  
+
+
+/**
+ * cloog_loop_alloc function:
+ * This function allocates the memory space for a CloogLoop structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space.
+ * - October  27th 2001: first version. 
+ * - June     22nd 2005: Adaptation for GMP.
+ * - November 21th 2005: use of cloog_loop_malloc.
+ */ 
+static CloogLoop *
+cloog_loop_alloc (CloogDomain *domain, Value stride, CloogBlock * block,
+                 CloogLoop *inner, CloogLoop *next)
+{
+  CloogLoop * loop ;
+    
+  loop = cloog_loop_malloc() ;
+  
+  cloog_loop_set_domain (loop, domain);
+  cloog_loop_set_block (loop, block);
+  cloog_loop_set_inner (loop, inner);
+  cloog_loop_set_next (loop, next);
+  value_assign (loop->stride, stride);
+  
+  return(loop) ;
+}
+
+
+/**
+ * cloog_loop_add function:
+ * This function adds a CloogLoop structure (loop) at a given place (now) of a
+ * NULL terminated list of CloogLoop structures. The beginning of this list
+ * is (start). This function updates (now) to (loop), and updates (start) if the
+ * added element is the first one -that is when (start) is NULL-.
+ * - October 28th 2001: first version. 
+ */ 
+static void
+cloog_loop_add (CloogLoop ** start, CloogLoop ** now, CloogLoop * loop)
+{ 
+  if (*start == NULL)
+    {
+      *start = loop ;
+      *now = *start ;
+    }
+  else
+    { 
+      cloog_loop_set_next (*now, loop);
+      *now = cloog_loop_next (*now);
+    }
+}
+
+
+/**
+ * cloog_loop_add function:
+ * This function adds a CloogLoop structure (loop) at a given place (now) of a
+ * NULL terminated list of CloogLoop structures. The beginning of this list
+ * is (start). This function updates (now) to the end of the loop list (loop),
+ * and updates (start) if the added element is the first one -that is when
+ * (start) is NULL-.
+ * - September 9th 2005: first version.
+ */ 
+static void
+cloog_loop_add_list (CloogLoop ** start, CloogLoop ** now, CloogLoop * loop)
+{ 
+  cloog_loop_add (start, now, loop);
+
+  while (cloog_loop_next (*now))
+    *now = cloog_loop_next (*now);
+}
+
+
+/**
+ * cloog_loop_copy function:
+ * This function returns a copy of the CloogLoop structure given as input. In
+ * fact, there is just new allocations for the CloogLoop structures, but their
+ * contents are the same.
+ * - October 28th 2001: first version. 
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ */ 
+static CloogLoop *
+cloog_loop_copy (CloogLoop * source)
+{ CloogLoop * loop ;
+  CloogBlock * block ;
+  CloogDomain * domain ;
+
+  loop = NULL ;
+  if (source != NULL)
+    {
+      domain = cloog_domain_copy (cloog_loop_domain (source));
+      block  = cloog_block_copy (cloog_loop_block (source));
+      loop   = cloog_loop_alloc(domain,source->stride,block,NULL,NULL) ;
+      cloog_loop_set_usr (loop, cloog_loop_usr (source));
+      cloog_loop_set_inner (loop, cloog_loop_copy (cloog_loop_inner (source)));
+      cloog_loop_set_next (loop, cloog_loop_copy (cloog_loop_next (source)));
+    }
+  return(loop) ;
+}
+
+
+/**
+ * cloog_loop_add_disjoint function:
+ * This function adds some CloogLoop structures at a given place (now) of a
+ * NULL terminated list of CloogLoop structures. The beginning of this list
+ * is (start). (loop) can be an union of polyhedra, this function separates the
+ * union into a list of *disjoint* polyhedra then adds the list. This function
+ * updates (now) to the end of the list and updates (start) if first added
+ * element is the first of the principal list -that is when (start) is NULL-.
+ * (loop) can be freed by this function, basically when its domain is actually
+ * a union of polyhedra, but don't worry, all the useful data are now stored
+ * inside the list (start). We do not use PolyLib's Domain_Disjoint function,
+ * since the number of union components is often higher (thus code size too).
+ * - October   28th 2001: first version. 
+ * - November  14th 2001: bug correction (this one was hard to find !).
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ * - October   27th 2005: (debug) included blocks were not copied for new loops.
+ */ 
+static void
+cloog_loop_add_disjoint (CloogLoop **start, CloogLoop **now, CloogLoop *loop)
+{ Value one ;
+  CloogLoop * sep, * inner ;
+  CloogDomain * domain, * convex, * seen, * seen_before, * temp, * rest ;
+  CloogBlock * block ;
+  
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+  
+  if (cloog_domain_isconvex (cloog_loop_domain (loop)))
+    cloog_loop_add(start,now,loop) ;
+  else
+  { /* Seems useless but may simplify the union expression (PolyLib pb). */
+    convex = cloog_domain_convex(cloog_loop_domain (loop)) ;
+    temp   = cloog_domain_difference(convex,cloog_loop_domain (loop)) ;
+    cloog_domain_free(cloog_loop_domain (loop)) ;
+    cloog_loop_set_domain (loop, NULL);
+    domain = cloog_domain_difference(convex,temp) ;
+    cloog_domain_free(convex) ;
+    cloog_domain_free(temp) ;
+    
+    /* We separate the first element of the rest of the union. */
+    rest = cloog_domain_cut_first(domain) ;
+            
+    /* This first element is the first of the list of disjoint polyhedra. */
+    sep = cloog_loop_alloc (domain, one, cloog_loop_block (loop),
+                           cloog_loop_inner (loop), NULL);
+    cloog_loop_add(start,now,sep) ;
+  
+    /* If there are other elements, add a loop for each of them. */
+    if (rest != NULL)
+    { /* domain is used by the first element, and we will free 'seen', so... */
+      seen = cloog_domain_copy(domain) ;
+       
+      while ((domain = rest) != NULL)
+      { rest = cloog_domain_cut_first(domain) ;
+        temp = cloog_domain_difference(domain,seen) ;
+       
+        /* Each new loop will have its own life, for instance we can free its
+         * inner loop and included block. Then each one must have its own copy
+        * of both 'inner' and 'block'.
+         */
+        inner = cloog_loop_copy (cloog_loop_inner (loop)) ;
+        block = cloog_block_copy (cloog_loop_block (loop)) ;
+       
+       sep = cloog_loop_alloc(temp,one,block,inner,NULL) ;
+        /* temp can be an union too. If so: recursion. */
+        if (cloog_domain_isconvex(temp))
+        cloog_loop_add(start,now,sep) ;
+        else
+        cloog_loop_add_disjoint(start,now,sep) ;
+       
+        seen_before = seen ;
+        if (rest != NULL)
+        seen = cloog_domain_union(seen_before,domain) ;
+
+        cloog_domain_free(seen_before) ;     
+       cloog_domain_free(domain) ;
+      }
+    }
+    cloog_loop_free_parts(loop,0,0,0,0) ;  
+  }
+  value_clear_c(one) ;
+}
+
+
+/**
+ * cloog_loop_disjoint function:
+ * This function returns a list of loops such that each loop with non-convex
+ * domain in the input list (loop) is separated into several loops where the
+ * domains are the components of the union of *disjoint* polyhedra equivalent
+ * to the original non-convex domain. See cloog_loop_add_disjoint comments
+ * for more details.
+ * - September 16th 2005: first version.
+ */
+static CloogLoop *
+cloog_loop_disjoint (CloogLoop * loop)
+{ CloogLoop *res=NULL, * now=NULL, * next ;
+  
+  /* Because this is often the case, don't waste time ! */
+  if ((loop != NULL) && cloog_domain_isconvex(cloog_loop_domain (loop)))
+  return loop ;
+
+  while (loop != NULL)
+    {
+      next = cloog_loop_next (loop);
+      cloog_loop_set_next (loop, NULL);
+      cloog_loop_add_disjoint(&res,&now,loop) ;
+      loop = next ;
+    }
+  
+  return res ;
+}
+
+
+/**
+ * cloog_loop_restrict function:
+ * This function returns the (loop) in the context of (context): it makes the
+ * intersection between the (loop) domain and the (context), then it returns
+ * a pointer to a new loop, with this intersection as domain.
+ * - nb_par is the number of parameters.
+ **
+ * - October 27th 2001: first version. 
+ * - June    15th 2005: a memory leak fixed (domain was not freed when empty).
+ * - June    22nd 2005: Adaptation for GMP.
+ */ 
+static CloogLoop *
+cloog_loop_restrict(CloogLoop *loop, CloogDomain *context, int nb_par)
+{ int new_dimension ;
+  Value one ;
+  CloogDomain * domain, * extended_context, * new_domain ;
+  CloogLoop * new_loop ;
+      
+  domain = cloog_loop_domain (loop) ;
+  if (cloog_domain_dim(domain) > cloog_domain_dim(context))
+  { new_dimension = cloog_domain_dim(domain) - nb_par ;
+    extended_context = cloog_domain_extend(context,new_dimension,nb_par) ;
+    new_domain = cloog_domain_intersection(extended_context,cloog_loop_domain (loop)) ;
+    cloog_domain_free(extended_context) ;
+  }
+  else
+    new_domain = cloog_domain_intersection(context,cloog_loop_domain (loop)) ;
+  
+  if (cloog_domain_isempty(new_domain))
+  { cloog_domain_free(new_domain) ;
+    return(NULL) ;
+  }
+  else
+  { value_init_c(one) ;
+    value_set_si(one,1) ;
+    new_loop = cloog_loop_alloc (new_domain, one, cloog_loop_block (loop),
+                                cloog_loop_inner (loop), NULL);
+    value_clear_c(one) ;
+    return(new_loop) ;
+  }
+}
+
+
+/**
+ * cloog_loop_project function:
+ * This function returns the projection of (loop) on the (level) first
+ * dimensions (outer loops). It makes the projection of the (loop) domain,
+ * then it returns a pointer to a new loop, with this projection as domain.
+ * - nb_par is the number of parameters.
+ **
+ * - October   27th 2001: first version. 
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ */ 
+static CloogLoop *
+cloog_loop_project(CloogLoop * loop, int level, int nb_par)
+{ Value one ;
+  CloogDomain * new_domain ;
+  CloogLoop * new_loop, * copy ;
+
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+  
+  copy = cloog_loop_alloc(cloog_loop_domain (loop),loop->stride,cloog_loop_block (loop),
+                          cloog_loop_inner (loop),NULL) ;
+
+  new_domain = cloog_domain_project(cloog_loop_domain (loop),level,nb_par) ;
+
+  new_loop = cloog_loop_alloc(new_domain,one,NULL,copy,NULL) ;
+  value_clear_c(one) ;
+  
+  return(new_loop) ;
+}
+
+
+/**
+ * cloog_loop_concat function:
+ * This function returns a pointer to the concatenation of the
+ * CloogLoop lists given as input.
+ * - October 28th 2001: first version. 
+ */
+static CloogLoop *
+cloog_loop_concat(CloogLoop * a, CloogLoop * b)
+{ CloogLoop * loop, * temp ;
+
+  loop = a  ;
+  temp = loop ;
+  if (loop != NULL)
+    { 
+      while (cloog_loop_next (temp))
+       temp = cloog_loop_next (temp);
+
+      cloog_loop_set_next (temp, b);
+    }
+  else
+  loop = b ;
+  
+  return(loop) ;
+} 
+
+
+/**
+ * cloog_loop_separate function:
+ * This function implements the Quillere algorithm for separation of multiple
+ * loops: for a given set of polyhedra (loop), it computes a set of disjoint
+ * polyhedra such that the unions of these sets are equal, and returns this set.
+ * - October   28th 2001: first version. 
+ * - November  14th 2001: elimination of some unused blocks.
+ * - August    13th 2002: (debug) in the case of union of polyhedra for one
+ *                        loop, redundant constraints are fired.
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ * - October   16th 2005: Removal of the non-shared constraint elimination when
+ *                        there is only one loop in the list (seems to work
+ *                        without now, DomainSimplify may have been improved).
+ *                        The problem was visible with test/iftest2.cloog.
+ */ 
+static CloogLoop * cloog_loop_separate(CloogLoop * loop)
+{ int first, lazy_equal=0, lazy_disjoint=0 ;
+  Value one ;
+  CloogLoop * new_loop, * new_inner, * res, * now, * temp, * Q, 
+            * inner, * old /*, * previous, * next*/  ;
+  CloogDomain * UQ, * old_UQ, * domain ;
+  
+  if (loop == NULL)
+  return NULL ;
+  
+  if (cloog_loop_next (loop) == NULL)
+    return cloog_loop_disjoint (loop);
+     
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+
+  UQ     = cloog_domain_copy(cloog_loop_domain (loop)) ;
+  domain = cloog_domain_copy(cloog_loop_domain (loop)) ;
+  res    = cloog_loop_alloc(domain,one,cloog_loop_block (loop),cloog_loop_inner (loop),NULL) ;
+         
+  old = loop ;
+  while ((loop = cloog_loop_next (loop)))
+    {
+      temp = NULL ;
+      first = 1 ;
+    
+      /* For all Q, add Q-loop associated with the blocks of Q alone,
+       * and Q inter loop associated with the blocks of Q and loop.
+       */
+      Q = res ;
+      while (Q != NULL)
+       { if (cloog_loop_block (Q) == NULL)
+           { /* Add (Q inter loop). */
+             if((lazy_disjoint=cloog_domain_lazy_disjoint(cloog_loop_domain (Q),cloog_loop_domain (loop))))
+               domain = NULL ;
+             else
+               { if ((lazy_equal = cloog_domain_lazy_equal(cloog_loop_domain (Q),cloog_loop_domain (loop))))
+                   domain = cloog_domain_copy(cloog_loop_domain (Q)) ;
+                 else
+                   domain = cloog_domain_intersection(cloog_loop_domain (Q),cloog_loop_domain (loop)) ;
+          
+                 if (!cloog_domain_isempty(domain))
+                   { new_inner = cloog_loop_concat(cloog_loop_copy(cloog_loop_inner (Q)),
+                                                   cloog_loop_copy(cloog_loop_inner (loop))) ;
+                     new_loop = cloog_loop_alloc(domain,one,NULL,new_inner,NULL) ;
+                     cloog_loop_add_disjoint(&temp,&now,new_loop) ;
+                   }
+                 else
+                   cloog_domain_free(domain) ;
+               }
+        
+             /* Add (Q - loop). */
+             if (lazy_disjoint)
+               domain = cloog_domain_copy(cloog_loop_domain (Q)) ;
+             else
+               { if (lazy_equal)
+                   domain = cloog_domain_empty(cloog_domain_dim(cloog_loop_domain (Q))) ;
+                 else
+                   domain = cloog_domain_difference(cloog_loop_domain (Q),cloog_loop_domain (loop)) ;
+               }
+       
+             if (!cloog_domain_isempty(domain))
+               { new_loop = cloog_loop_alloc(domain,one,NULL,cloog_loop_inner (Q),NULL) ;
+                 cloog_loop_add_disjoint(&temp,&now,new_loop) ;
+               }
+             else
+               { cloog_domain_free(domain) ;
+                 /* If cloog_loop_inner (Q) is no more useful, we can free it. */
+                 inner = cloog_loop_inner (Q) ;
+                 cloog_loop_set_inner (Q, NULL);
+                 if (first) /* For the first Q, inner is also cloog_loop_inner (old). */
+                   cloog_loop_set_inner (old, NULL);
+                 cloog_loop_free(inner) ;
+               }
+           }
+         Q = cloog_loop_next (Q) ;
+       }
+
+      /* Add loop-UQ associated with the blocks of loop alone.*/
+      if (cloog_domain_lazy_disjoint(cloog_loop_domain (loop),UQ))
+       domain = cloog_domain_copy(cloog_loop_domain (loop)) ;
+      else
+       { if (cloog_domain_lazy_equal(cloog_loop_domain (loop),UQ))
+           domain = cloog_domain_empty(cloog_domain_dim(UQ)) ;
+         else
+           domain = cloog_domain_difference(cloog_loop_domain (loop),UQ) ;
+       }
+    
+      if (!cloog_domain_isempty(domain))
+       { new_loop = cloog_loop_alloc(domain,one,NULL,cloog_loop_inner (loop),NULL) ;
+         cloog_loop_add_disjoint(&temp,&now,new_loop) ;
+       }
+      else
+       { cloog_domain_free(domain) ;
+         /* If cloog_loop_inner (loop) is no more useful, we can free it. */
+         cloog_loop_free(cloog_loop_inner (loop)) ;
+       }
+    
+      cloog_loop_set_inner (loop, NULL);
+
+      old_UQ = UQ ;
+      if (cloog_loop_next (loop))
+       UQ = cloog_domain_union(UQ,cloog_loop_domain (loop)) ;
+
+      cloog_domain_free(old_UQ) ;
+      cloog_loop_free_parts(res,1,0,0,1) ;
+
+      first = 0 ;
+      res = temp ;
+    }  
+  cloog_loop_free_parts(old,1,0,0,1) ;
+  value_clear_c(one) ;
+
+  return(res) ;
+}
+
+
+/**
+ * cloog_loop_merge_list
+ * Merge two lists of CloogLoops.  The new list contains the
+ * elements of the two lists in the same order, but they may
+ * be interleaved.
+ * In particular, if the elements of a and b are ordered
+ * according to the inner loops of the order list, then so are the elements
+ * in the new list.
+ */
+static CloogLoop *cloog_loop_merge_inner_list(CloogLoop *a, CloogLoop *b, 
+                                             CloogLoop *order)
+{
+  CloogLoop *loop, **next;
+  next = &loop;
+
+  for ( ; order && (a||b); order = cloog_loop_next (order)) {
+    if (a && cloog_loop_block (cloog_loop_inner (order)) == cloog_loop_block (a)) {
+      *next = a;
+      a = cloog_loop_next (a);
+      next = cloog_loop_next_addr (*next);
+      continue;
+    }
+    if (b && cloog_loop_block (cloog_loop_inner (order)) == cloog_loop_block (b)) {
+      *next = b;
+      b = cloog_loop_next (b);
+      next = cloog_loop_next_addr (*next);
+    }
+  }
+  return loop;
+}
+
+/**
+ * cloog_loop_merge function:
+ * This function is the 'soft' version of loop_separate if we are looking for
+ * a code much simpler (and less efficicient). Here we merge loops if they have
+ * common parts in the iteration space (if the intersection of their domains is
+ * not empty), and let them isolated otherwise. This function returns the new
+ * CloogLoop list.
+ * - October 29th 2001: first version. 
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ */ 
+static CloogLoop * cloog_loop_merge(CloogLoop * loop, int nb_par, CloogOptions * options)
+{ Value one ;
+  CloogLoop * res, * merge, * now, * Q, * P, * new_inner, * next, * old ;
+  CloogDomain * new_domain, * temp ;
+
+  if ((loop == NULL) || (cloog_loop_next (loop) == NULL))
+  return loop ;
+
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+  
+  /* First loop is added to the target list. */
+  res = cloog_loop_alloc (cloog_loop_domain (loop), one,
+                         cloog_loop_block (loop), cloog_loop_inner (loop), NULL);
+  old = loop ;
+  /* Now the domain is in 'res' and it will be freed. */
+  cloog_loop_set_domain (loop, NULL);
+  
+  /* And one by one, we see if we have to merge or to add the other loops. */
+  while ((loop = cloog_loop_next (loop)))
+    {
+      merge = NULL ;
+      P = cloog_loop_alloc (cloog_loop_domain (loop), one,
+                           cloog_loop_block (loop), cloog_loop_inner (loop), NULL) ;
+      Q = res ;
+      /* Now the domain is in 'P' and it will be freed. */
+      cloog_loop_set_domain (loop, NULL);
+        
+      /* For each loop in the target list, if the intersection with the new loop
+       * is empty, we can add the new loop directly, otherwise, we can merge then
+       * add the fusion.
+       */
+      while (Q != NULL)
+       {
+         temp = cloog_domain_intersection(cloog_loop_domain (Q),cloog_loop_domain (P)) ;
+         next = cloog_loop_next (Q) ;
+         if (cloog_domain_isempty(temp))
+           { cloog_domain_free(temp) ;
+             cloog_loop_add_disjoint(&merge,&now,Q) ;
+           }
+         else 
+           { cloog_domain_free(temp) ;
+             new_inner = cloog_loop_merge_inner_list(cloog_loop_inner (Q), cloog_loop_inner (P), old);
+             temp = cloog_domain_union(cloog_loop_domain (P),cloog_loop_domain (Q)) ;
+             if (options->sh)
+               new_domain = cloog_domain_simple_convex(temp, nb_par);
+             else
+               new_domain = cloog_domain_convex(temp);
+             cloog_domain_free(temp) ;
+             /* Q and P are no more used (but their content yes !).*/
+             cloog_loop_free_parts(P,1,0,0,0) ;
+             cloog_loop_free_parts(Q,1,0,0,0) ;
+             P = cloog_loop_alloc(new_domain,one,NULL,new_inner,NULL) ;
+           }
+         Q = next ;
+       }
+
+      /* If there was merging, add it, otherwise add the loop lonely.
+       * DEBUG : ici pas besoin de s'assurer que cloog_loop_next (P) est NULL (possible que
+       * non si pas de fusion) car le dernier loop etudie a cloog_loop_next (loop) = NULL.
+       */
+      cloog_loop_add_disjoint(&merge,&now,P) ;
+      res = merge ;
+    }  
+  cloog_loop_free_parts(old,0,0,0,1) ;
+  value_clear_c(one) ;
+
+  return (res);
+}
+
+
+/**
+ * cloog_loop_sort function:
+ * Adaptation from LoopGen 0.4 by F. Quillere. This function sorts a list of
+ * parameterized disjoint polyhedra, in order to not have lexicographic order
+ * violation (see Quillere paper).
+ * - September 16th 2005: inclusion of cloog_loop_number (October 29th 2001).
+ */ 
+static CloogLoop * cloog_loop_sort(CloogLoop * loop, int level, int nb_par)
+{ CloogLoop * res, * now, * temp, ** loop_array ;
+  CloogDomain ** pols ;
+  int i, nb_loops=0, * permut ;
+  
+  /* We will need to know how many loops are in the list. */
+  temp = loop ;
+  while (temp != NULL)
+    {
+      nb_loops ++ ;
+      temp = cloog_loop_next (temp) ;
+    }
+
+  /* If there is only one loop, it's the end. */
+  if (nb_loops == 1)
+  return(loop) ;
+
+  /* We have to allocate memory for some useful components:
+   * - loop_array: the loop array,
+   * - pols: the array of domains to sort,
+   * - permut: will give us a possible sort (maybe not the only one).
+   */
+  loop_array = (CloogLoop **)malloc(nb_loops*sizeof(CloogLoop *)) ;
+  pols = (CloogDomain **) malloc (nb_loops * sizeof (CloogDomain *)) ;
+  permut = (int *)malloc(nb_loops*sizeof(int)) ;
+
+  /* We fill up the loop and domain arrays. */
+  for (i=0;i<nb_loops;i++,loop=cloog_loop_next (loop))
+    {
+      loop_array[i] = loop ;
+      pols[i] = cloog_loop_domain (loop_array[i]) ;
+    }
+  
+  /* cloog_domain_sort will fill up permut. */
+  cloog_domain_sort(pols,nb_loops,level,nb_par,permut) ;
+  
+  /* With permut and loop_array we build the sorted list. */
+  res = NULL ;
+  for (i=0;i<nb_loops;i++)
+  { /* To avoid pointer looping... loop_add will rebuild the list. */
+    cloog_loop_set_next (loop_array[permut[i]-1], NULL);
+    cloog_loop_add(&res,&now,loop_array[permut[i]-1]) ;
+  }
+  
+  free(permut) ;
+  free(pols) ;
+  free(loop_array) ;
+
+  return res;
+}
+
+
+/**
+ * cloog_loop_nest function:
+ * This function changes the loop list in such a way that we have no more than
+ * one dimension added by level. It returns an equivalent loop list with
+ * this property.
+ * - October 29th 2001: first version.
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ * - November  21th 2005: (debug) now OK when cloog_loop_restrict returns NULL.
+ */ 
+static CloogLoop * cloog_loop_nest(CloogLoop *loop, CloogDomain *context, int level, int nb_par)
+{ int l ;
+  Value one ;
+  CloogLoop * p, * temp, * res, * now, * next ;
+  CloogDomain * new_domain ;
+
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+      
+  res = NULL ;
+  /* Each domain is changed by its intersection with the context. */
+  while (loop != NULL)
+  { p = cloog_loop_restrict(loop,context,nb_par) ;
+    next = cloog_loop_next (loop) ;
+    
+    if (p != NULL)
+    { cloog_loop_free_parts(loop,1,0,0,0) ;
+    
+      temp = cloog_loop_alloc(cloog_loop_domain (p),one,cloog_loop_block (p),cloog_loop_inner (p),NULL) ;
+    
+      /* If the intersection dimension is too big, we make projections smaller
+       * and smaller, and each projection includes the preceding projection
+       * (thus, in the target list, dimensions are added one by one).
+       */
+      if ((((int) cloog_domain_dim (cloog_loop_domain (p))) - nb_par) > level)
+       for (l=cloog_domain_dim(cloog_loop_domain (p))-nb_par-1;l>=level;l--)
+         { new_domain = cloog_domain_project(cloog_loop_domain (p),l,nb_par) ;
+        temp = cloog_loop_alloc(new_domain,one,NULL,temp,NULL) ;
+      }
+
+       /* p is no more useful (but its content yes !). */ 
+      cloog_loop_free_parts(p,0,0,0,0) ;
+    
+      cloog_loop_add(&res,&now,temp) ;
+    }
+    else
+    cloog_loop_free_parts(loop,1,1,1,0) ;
+    
+    loop = next ;
+  }
+  value_clear_c(one) ;
+  
+  return(res) ;
+}
+
+
+/**
+ * cloog_loop_stride_1 function:
+ * This function will find the stride of a loop for the iterator at the column
+ * number 'level' in the constraint matrix. It will update the lower bound of
+ * the iterator accordingly. Basically, the function will try to find in the
+ * inner loops a common condition on this iterator for the inner loop iterators
+ * to be integral. For instance, let us consider a loop with the iterator i,
+ * the iteration domain -4<=i<=n, and its two inner loops with the iterator j.
+ * The first inner loop has the constraint 3j=i, and the second one has the
+ * constraint 6j=i. Then the common constraint on i for j to be integral is
+ * i%3=0, the stride for i is 3. Lastly, we have to find the new lower bound
+ * for i: the first value satisfying the common constraint: -3. At the end, the
+ * iteration domain for i is -3<=i<=n and the stride for i is 3.
+ * - loop is the loop including the iteration domain of the considered iterator,
+ * - level is the column number of the iterator in the matrix of contraints.
+ **
+ * - June 29th 2003: first version (work in progress since June 26th 2003).
+ * - July 14th 2003: simpler version.
+ * - June 22nd 2005: Adaptation for GMP (from S. Verdoolaege's 0.12.1 version).
+ */
+static void cloog_loop_stride_1 (CloogLoop * loop, int level, int nb_par)
+{ int first_search ;
+  Value stride, ref_offset, offset, potential, lower ;
+  CloogLoop * inner ;
+
+  value_init_c(stride) ;
+  value_init_c(ref_offset) ;
+  value_init_c(offset) ;
+  value_init_c(potential) ;
+  value_init_c(lower) ;
+
+  value_set_si(ref_offset,0) ;
+  value_set_si(offset,0) ;
+  value_set_si(lower,0) ;
+
+  /* Default stride. */
+  value_set_si(stride,1) ;
+  first_search = 1 ;
+  inner = cloog_loop_inner (loop) ;
+    
+  if (cloog_domain_integral_lowerbound(cloog_loop_domain (loop),level,&lower))
+  while (inner != NULL)
+  { /* If the minimun stride has not been found yet, find the stride. */
+    if ((first_search) || (value_notone_p(stride)))
+      { cloog_domain_stride(cloog_loop_domain (inner),level,nb_par,&potential,&offset) ;
+      if (value_notone_p(potential) && (!first_search))
+      { /* Offsets must be the same for common stride. */
+       Gcd(potential,stride,&stride) ;
+       value_modulus(offset, offset, stride);
+       value_modulus(ref_offset, ref_offset, stride);
+        if (value_ne(offset,ref_offset))
+           value_set_si(stride, 1);
+      }
+      else
+      { value_assign(stride,potential) ;
+        value_assign(ref_offset,offset) ;
+      }
+       
+      first_search = 0 ;
+    }
+      
+    inner = cloog_loop_next (inner) ;
+  }
+    
+  /* Update the values if necessary. */
+  if (value_notone_p(stride))
+  { /* Update the stride value. */
+    value_assign (loop->stride, stride);
+    /* The new lower bound l' is such that 
+     *      (l' + offset) % s = 0 and l <= l' <= l+(s-1)
+     * Let l' = k s - offset, then 
+     *     k s - offset <= l + (s-1) <= k s - offset + (s-1)
+     * Or   l' = floor((l+offset+(s-1))/s) * s - offset
+     *         = (floor((l+offset-1)/s) + 1) * s - offset
+     */
+    value_addto(lower, lower, offset);
+    value_decrement(lower, lower);
+    value_pdivision(lower, lower, stride);
+    value_increment(lower, lower);
+    value_multiply(lower, lower, stride);
+    value_subtract(lower, lower, offset);
+    cloog_domain_lowerbound_update(cloog_loop_domain (loop),level,lower) ;
+  }
+  
+  value_clear_c(stride) ;
+  value_clear_c(ref_offset) ;
+  value_clear_c(offset) ;
+  value_clear_c(potential) ;
+  value_clear_c(lower) ;
+}
+
+
+/**
+ * cloog_loop_stop function:
+ * This function implements the 'stop' option : each domain of each loop
+ * in the list 'loop' is replaced by 'context'. 'context' should be the
+ * domain of the outer loop. By using this method, there are no more dimensions
+ * to scan and the simplification step will automaticaly remove the domains
+ * since they are the same as the corresponding contexts. The effect of this
+ * function is to stop the code generation at the level this function is called,
+ * the resulting code do not consider the next dimensions.
+ * - January 11th 2005: first version.
+ */
+static CloogLoop * cloog_loop_stop(CloogLoop * loop, CloogDomain * context)
+{ if (loop == NULL)
+  return NULL ;
+  else
+    {
+      cloog_domain_free(cloog_loop_domain (loop)) ;
+      cloog_loop_set_domain (loop, cloog_domain_copy (context));
+      cloog_loop_set_next (loop, cloog_loop_stop (cloog_loop_next (loop), context)) ;
+    }
+  
+  return loop ;
+}
+
+
+/**
+ * cloog_loop_scalar_gt function:
+ * This function returns 1 if loop 'l1' is greater than loop 'l2' for the
+ * scalar dimension vector that begins at dimension 'scalar', 0 otherwise. What
+ * we want to know is whether a loop is scheduled before another one or not.
+ * This function solves the problem when the considered dimension for scheduling
+ * is a scalar dimension. Since there may be a succession of scalar dimensions,
+ * this function will reason about the vector of scalar dimension that begins
+ * at dimension 'level+scalar' and finish to the first non-scalar dimension.
+ * \param l1 Loop to be compared with l2.
+ * \param l2 Loop to be compared with l1.
+ * \param level Current non-scalar dimension.
+ * \param scaldims Boolean array saying whether a dimension is scalar or not.
+ * \param nb_scattdims Size of the scaldims array.
+ * \param scalar Current scalar dimension.
+ * \return 1 if (l1 > l2), 0 otherwise.
+ **
+ * - September 9th 2005: first version.
+ * - October  15nd 2007: now "greater than" instead of "greater or equal".
+ */
+static int cloog_loop_scalar_gt(CloogLoop *l1, CloogLoop *l2, int level, int *scaldims, int scalar)
+{
+  while ((scalar < cloog_block_nb_scaldims (cloog_loop_block (cloog_loop_inner (l1))))
+        && scaldims[level+scalar-1])
+    {
+      if (value_gt (cloog_loop_block (cloog_loop_inner (l1))->scaldims[scalar],
+                   cloog_loop_block (cloog_loop_inner (l2))->scaldims[scalar]))
+       scalar ++ ;
+      else
+       return 0 ;
+    }
+  return 1 ;
+}
+
+
+/**
+ * cloog_loop_scalar_eq function:
+ * This function returns 1 if loop 'l1' is equal to loop 'l2' for the scalar
+ * dimension vector that begins at dimension 'scalar', 0 otherwise. What we want
+ * to know is whether two loops are scheduled for the same time or not.
+ * This function solves the problem when the considered dimension for scheduling
+ * is a scalar dimension. Since there may be a succession of scalar dimensions,
+ * this function will reason about the vector of scalar dimension that begins
+ * at dimension 'level+scalar' and finish to the first non-scalar dimension.
+ * - l1 and l2 are the loops to compare,
+ * - level is the current non-scalar dimension,
+ * - scaldims is the boolean array saying whether a dimension is scalar or not,
+ * - scalar is the current scalar dimension.
+ **
+ * - September 9th 2005 : first version.
+ */
+static int cloog_loop_scalar_eq(CloogLoop * l1, CloogLoop * l2, int level, int *scaldims, int scalar)
+{
+  while ((scalar < cloog_block_nb_scaldims (cloog_loop_block (cloog_loop_inner (l1))))
+        && scaldims[level+scalar-1])
+    {
+      if (value_eq (cloog_loop_block (cloog_loop_inner (l1))->scaldims[scalar],
+                   cloog_loop_block (cloog_loop_inner (l2))->scaldims[scalar]))
+       scalar ++ ;
+      else
+       return 0 ;
+    }
+  return 1 ;
+}
+
+
+/**
+ * cloog_loop_scalar_sort function:
+ * This function sorts a linked list of loops (loop) with respect to the
+ * scalar dimension vector that begins at dimension 'scalar'. Since there may
+ * be a succession of scalar dimensions, this function will reason about the
+ * vector of scalar dimension that begins at dimension 'level+scalar' and
+ * finish to the first non-scalar dimension.
+ * \param loop Loop list to sort.
+ * \param level Current non-scalar dimension.
+ * \param scaldims Boolean array saying whether a dimension is scalar or not.
+ * \param scalar Current scalar dimension.
+ * \return A pointer to the sorted list.
+ **
+ * - July      2nd 2005: first developments.
+ * - September 2nd 2005: first version.
+ * - October  15nd 2007: complete rewrite to remove bugs, now a bubble sort.
+ */
+static CloogLoop * cloog_loop_scalar_sort(CloogLoop * loop, int level, int *scaldims, int scalar)
+{ int ok ;
+  CloogLoop **current;
+  
+  do {
+    ok = 1;
+    for (current = &loop; cloog_loop_next (*current); current = cloog_loop_next_addr (*current)) {
+      CloogLoop *next = cloog_loop_next (*current);
+      if (cloog_loop_scalar_gt(*current,next,level,scaldims,scalar)) {
+        ok = 0;
+       cloog_loop_set_next (*current, cloog_loop_next (next));
+       cloog_loop_set_next (next, *current);
+       *current = next;
+      }
+    }
+  } while (!ok);
+
+  return loop ;
+}
+
+
+/**
+ * cloog_loop_generate_backtrack function:
+ * adaptation from LoopGen 0.4 by F. Quillere. This function implements the
+ * backtrack of the Quillere et al. algorithm (see the Quillere paper).
+ * It eliminates unused iterations of the current level for the new one. See the
+ * example called linearity-1-1 example with and without this part for an idea.
+ * - October 26th 2001: first version in cloog_loop_generate_general.
+ * - July    31th 2002: (debug) no more parasite loops (REALLY hard !). 
+ * - October 30th 2005: extraction from cloog_loop_generate_general.
+ */
+static CloogLoop *
+cloog_loop_generate_backtrack (CloogLoop * loop, int level, int nb_par)
+{ Value one ;
+  CloogDomain * domain ;
+  CloogLoop * now, * now2, * next, * next2, * end, * temp, * l, * inner,
+            * new_loop ;
+  
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+
+  temp = loop ;
+  loop = NULL ;
+
+  while (temp != NULL)
+  { l = NULL ;
+    inner = cloog_loop_inner (temp) ;
+      
+    while (inner != NULL)
+      {
+       next = cloog_loop_next (inner) ;
+       /* This 'if' and its first part is the debug of july 31th 2002. */
+       if (cloog_loop_block (inner))
+         {
+           end = cloog_loop_alloc (cloog_loop_domain (inner), one,
+                                   cloog_loop_block (inner), NULL, NULL);
+           domain = cloog_domain_copy(cloog_loop_domain (temp)) ;
+           new_loop = cloog_loop_alloc(domain,one,NULL,end,NULL) ;
+         }
+       else
+         new_loop = cloog_loop_project(inner,level,nb_par) ;
+
+       cloog_loop_free_parts(inner,0,0,0,0) ;
+       cloog_loop_add(&l,&now2,new_loop) ;
+       inner = next ;
+      }
+      
+    cloog_loop_set_inner (temp, NULL);
+      
+    if (l != NULL)
+    { l = cloog_loop_separate(l) ;
+      l = cloog_loop_sort(l,level,nb_par) ;
+      while (l != NULL)
+       {
+         value_assign (l->stride, temp->stride);
+         cloog_loop_add(&loop,&now,l) ;
+         l = cloog_loop_next (l) ;
+       }
+    }
+    next2 = cloog_loop_next (temp) ;
+    cloog_loop_free_parts(temp,1,0,0,0) ;
+    temp = next2 ;
+  }
+
+  value_clear_c(one) ;
+
+  return loop ;
+}
+
+
+/**
+ * cloog_loop_generate_general function:
+ * Adaptation from LoopGen 0.4 by F. Quillere. This function implements the
+ * Quillere algorithm for polyhedron scanning from step 3 to 5.
+ * (see the Quillere paper).
+ * - loop is the loop for which we have to generate a scanning code,
+ * - level is the current non-scalar dimension,
+ * - scalar is the current scalar dimension,
+ * - scaldims is the boolean array saying whether a dimension is scalar or not,
+ * - nb_scattdims is the size of the scaldims array,
+ * - nb_par is the number of parameters,
+ * - options are the general code generation options.
+ **
+ * - October 26th 2001: first version.
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      22nd 2005: Adaptation for GMP.
+ * - September  2nd 2005: The function have been cutted out in two pieces:
+ *                        cloog_loop_generate and this one, in order to handle
+ *                        the scalar dimension case more efficiently with
+ *                        cloog_loop_generate_scalar.
+ * - November  15th 2005: (debug) the result of the cloog_loop_generate call may
+ *                        be a list of polyhedra (especially if stop option is
+ *                        used): cloog_loop_add_list instead of cloog_loop_add.
+ */ 
+static CloogLoop * cloog_loop_generate_general(CloogLoop *loop, int level, int scalar,
+                                              int *scaldims, int nb_scattdims, int nb_par,
+                                              CloogOptions *options)
+{ Value one ;
+  CloogLoop * res, * now, * temp, * l, * new_loop, * inner, * now2, * end,
+            * next, * into ;
+  CloogDomain * domain ;
+
+  /* 3. Separate all projections into disjoint polyhedra. */
+  res = ((options->f > level+scalar) || (options->f < 0)) ?
+        cloog_loop_merge(loop, nb_par, options) : cloog_loop_separate(loop);
+    
+  /* 3b. -correction- sort the loops to determine their textual order. */
+  res = cloog_loop_sort(res,level,nb_par) ;
+     
+  value_init_c(one) ;
+  value_set_si(one,1) ;
+  
+  /* 4. Recurse for each loop with the current domain as context. */
+  temp = res ;
+  res = NULL ;
+  if ((level+scalar < options->l) || (options->l < 0))
+  while(temp != NULL)
+  { if (options->strides)
+    cloog_loop_stride_1 (temp,level,nb_par) ;
+    inner = cloog_loop_inner (temp) ;
+    domain = cloog_loop_domain (temp) ;
+    into = NULL ;
+    while (inner != NULL)
+    { /* 4b. -ced- recurse for each sub-list of non terminal loops. */
+      if ((int) cloog_domain_dim(cloog_loop_domain (inner)) > (level + nb_par))
+      { end = inner ;
+        while ((cloog_loop_next (end)) &&
+               ((int) cloog_domain_dim (cloog_loop_domain (cloog_loop_next (end))) > (level + nb_par)))
+         end = cloog_loop_next (end) ;
+        
+       next = cloog_loop_next (end) ;
+        cloog_loop_set_next (end, NULL);
+
+        l = cloog_loop_generate(inner,domain,level+1,scalar,
+                               scaldims,nb_scattdims,nb_par,options) ;
+        
+       if (l != NULL)
+        cloog_loop_add_list(&into,&now,l) ;
+        
+        inner = next ;
+      }
+      else
+      { cloog_loop_add(&into,&now,inner) ;
+        inner = cloog_loop_next (inner) ;
+      }
+    }
+    next = cloog_loop_next (temp) ;
+    cloog_loop_set_next (temp, NULL);
+    cloog_loop_set_inner (temp, into);
+    cloog_loop_add(&res,&now2,temp) ;
+    temp = next ;
+  }
+  else
+  while (temp != NULL)
+    { next = cloog_loop_next (temp) ;
+    l = cloog_loop_nest(cloog_loop_inner (temp),cloog_loop_domain (temp),level+1,nb_par) ;
+    new_loop = cloog_loop_alloc(cloog_loop_domain (temp),one,NULL,l,NULL) ;
+    cloog_loop_set_inner (temp, NULL);
+    cloog_loop_set_next (temp, NULL);
+    cloog_loop_free_parts(temp,0,0,0,0) ;
+    cloog_loop_add(&res,&now,new_loop) ;
+    temp = next ;
+  }
+  
+  /* 5. eliminate unused iterations of the current level for the new one. See
+   *    the example called linearity-1-1 example with and without this part
+   *    for an idea.
+   */
+  if ((!options->nobacktrack) &&
+      ((level+scalar < options->l) || (options->l < 0)) &&
+      ((options->f <= level+scalar) && !(options->f < 0)))
+  res = cloog_loop_generate_backtrack(res,level,nb_par) ;
+  
+  /* Pray for my new paper to be accepted somewhere since the following stuff
+   * is really amazing :-) !
+   * Far long later: The paper has been accepted to PACT 2004 :-))). But there
+   * are still some bugs and I have no time to fix them. Thus now you have to 
+   * pray for me to get an academic position for that really amazing stuff :-) !
+   * Later again: OK, I get my academic position, but still I have not enough
+   * time to fix and clean this part... Pray again :-) !!!
+   */
+  /* res = cloog_loop_unisolate(res,context,level,nb_par) ;*/
+
+  value_clear_c(one) ;
+  return(res) ;
+}
+
+
+/**
+ * cloog_loop_generate_scalar function:
+ * This function applies the simplified code generation scheme in the trivial
+ * case of scalar dimensions. When dealing with scalar dimensions, there is 
+ * no need of costly polyhedral operations for separation or sorting: sorting
+ * is a question of comparing scalar vectors and separation amounts to consider
+ * only loops with the same scalar vector for the next step of the code
+ * generation process. This function achieves the separation/sorting process
+ * for the vector of scalar dimension that begins at dimension 'level+scalar'
+ * and finish to the first non-scalar dimension.
+ * - loop is the loop for which we have to generate a scanning code,
+ * - level is the current non-scalar dimension,
+ * - scalar is the current scalar dimension,
+ * - scaldims is the boolean array saying whether a dimension is scalar or not,
+ * - nb_scattdims is the size of the scaldims array,
+ * - nb_par is the number of parameters,
+ * - options are the general code generation options.
+ **
+ * - September  2nd 2005: First version.
+ */ 
+static CloogLoop *
+cloog_loop_generate_scalar(CloogLoop *loop, int level, int scalar,
+                          int *scaldims, int nb_scattdims, int nb_par,
+                          CloogOptions *options)
+{ CloogLoop * res, * now, * temp, * l, * end, * next, * ref ;
+  
+  /* We sort the loop list with respect to the current scalar vector. */
+  res = cloog_loop_scalar_sort(loop,level,scaldims,scalar) ;
+  
+  temp = res ;
+  res = NULL ;
+  while (temp != NULL)
+  { /* Then we will appy the general code generation process to each sub-list
+     * of loops with the same scalar vector.
+     */
+    end = temp ;
+    ref = temp ;
+    
+    while ((cloog_loop_next (end)) &&
+          cloog_loop_scalar_eq(ref,cloog_loop_next (end),level,scaldims,scalar))
+      end = cloog_loop_next (end) ;
+
+    next = cloog_loop_next (end) ;
+    cloog_loop_set_next (end, NULL);
+
+    /* For the next dimension, scalar value is updated by adding the scalar
+     * vector size, which is stored at scaldims[level+scalar-1].
+     */
+    l = cloog_loop_generate_general(temp,level,
+                                    scalar+scaldims[level+scalar-1],
+                                   scaldims,nb_scattdims,nb_par,options) ;
+
+    if (l != NULL)
+    cloog_loop_add_list(&res,&now,l) ;
+      
+    temp = next ;
+  }
+  
+  return res ;
+}
+
+
+/**
+ * cloog_loop_generate function:
+ * Adaptation from LoopGen 0.4 by F. Quillere. This function implements the
+ * Quillere algorithm for polyhedron scanning from step 1 to 2.
+ * (see the Quillere paper).
+ * - loop is the loop for which we have to generate a scanning code,
+ * - context is the context of the current loop (constraints on parameter and/or
+ *   on outer loop counters),
+ * - level is the current non-scalar dimension,
+ * - scalar is the current scalar dimension,
+ * - scaldims is the boolean array saying whether a dimension is scalar or not,
+ * - nb_scattdims is the size of the scaldims array,
+ * - nb_par is the number of parameters,
+ * - options are the general code generation options.
+ **
+ * - October 26th 2001: first version.
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - June      15th 2005: a memory leak fixed (loop was not entirely freed when
+ *                        the result of cloog_loop_restrict was NULL).
+ * - June      22nd 2005: Adaptation for GMP.
+ * - September  2nd 2005: The function have been cutted out in two pieces:
+ *                        cloog_loop_generate and this one, in order to handle
+ *                        the scalar dimension case more efficiently with
+ *                        cloog_loop_generate_scalar.
+ * - November  15th 2005: (debug) Condition for stop option no more take care of
+ *                        further scalar dimensions.
+ */ 
+CloogLoop * cloog_loop_generate(CloogLoop *loop, CloogDomain *context, int level,
+                               int scalar, int *scaldims, int nb_scattdims, int nb_par,
+                               CloogOptions *options)
+{ CloogLoop * res, * now, * temp, * next, * old ;
+  
+  /* If the user asked to stop code generation at this level, let's stop. */
+  if ((options->stop >= 0) && (level+scalar >= options->stop+1))
+  return cloog_loop_stop(loop,context) ;
+
+  res = NULL ;  
+  
+  /* 1. Replace each polyhedron by its intersection with the context.
+   * 2. Compute the projection of each polyhedron onto the outermost
+   *    loop variable and the parameters.
+   */
+  while (loop != NULL)
+    {
+      next = cloog_loop_next (loop) ;
+      temp = cloog_loop_restrict(loop,context,nb_par) ;
+    
+      if (temp != NULL)
+       { old = temp ;
+         temp = cloog_loop_project(temp,level,nb_par) ;
+         cloog_loop_free_parts(old,0,0,0,0) ;
+         cloog_loop_add(&res,&now,temp) ;
+         cloog_loop_free_parts(loop,1,0,0,0) ;
+       }
+      else
+       { 
+         cloog_loop_set_next (loop, NULL);
+         cloog_loop_free(loop) ;
+       }
+    
+      loop = next ;
+    }
+  if (res == NULL)
+  return NULL ;
+
+  /* To save both time and memory, we switch here depending on whether the
+   * current dimension is scalar (simplified processing) or not (general
+   * processing).
+   */
+  if ((level+scalar <= nb_scattdims) && (scaldims[level+scalar-1]))
+  res = cloog_loop_generate_scalar(res,level,scalar,
+                                   scaldims,nb_scattdims,nb_par,options) ;
+  else
+  res = cloog_loop_generate_general(res,level,scalar,
+                                    scaldims,nb_scattdims,nb_par,options) ;
+
+  return res ;
+}
+
+
+/**
+ * cloog_loop_simplify function:
+ * This function implements the part 6. of the Quillere algorithm, it
+ * recursively simplifies each loop in the context of the preceding loop domain.
+ * It returns a pointer to the simplified loop list.
+ * The cloog_domain_simplify (DomainSimplify) behaviour is really bad with
+ * polyhedra union and some really awful sidesteppings were written, I plan
+ * to solve that...
+ * - October   31th 2001: first version. 
+ * - July 3rd->11th 2003: memory leaks hunt and correction.
+ * - April     16th 2005: a memory leak fixed (extended_context was not freed).
+ * - June      15th 2005: a memory leak fixed (loop was not conveniently freed
+ *                        when the constraint system is never true).
+ * - October   27th 2005: - this function called before cloog_loop_fast_simplify
+ *                          is now the official cloog_loop_simplify function in
+ *                          replacement of a slower and more complex one (after 
+ *                          deep changes in the pretty printer).
+ *                        - we use cloog_loop_disjoint to fix the problem when
+ *                          simplifying gives a union of polyhedra (before, it
+ *                          was under the responsibility of the pretty printer).
+ */ 
+CloogLoop * cloog_loop_simplify(CloogLoop *loop, CloogDomain *context, int level, int nb_par)
+{ int domain_dim ;
+  CloogBlock * new_block ;
+  CloogLoop * simplified, * inner, * next ;
+  CloogDomain * domain, * simp, * inter, * extended_context ;
+            
+  if (loop == NULL)
+  return(NULL) ;
+  
+  domain = cloog_loop_domain (loop) ;
+  
+  next = cloog_loop_simplify(cloog_loop_next (loop),context,level,nb_par) ;
+  
+  domain_dim = cloog_domain_dim(domain) - nb_par ;
+  extended_context=cloog_domain_extend(context,domain_dim,nb_par);
+  inter = cloog_domain_intersection(domain,extended_context) ;
+  simp = cloog_domain_simplify(inter,extended_context) ;
+  cloog_domain_free(extended_context) ;
+
+  /* If the constraint system is never true, go to the next one. */
+  if (cloog_domain_never_integral(simp)) {
+    cloog_loop_set_next (loop, NULL);
+    cloog_loop_free(loop);
+    cloog_domain_free(inter);
+    cloog_domain_free(simp);
+    return next;
+  }
+
+  inner = cloog_loop_simplify(cloog_loop_inner (loop),inter,level+1,nb_par) ;
+  cloog_domain_free(inter) ;
+  
+  if ((inner == NULL) && (cloog_loop_block (loop) == NULL))
+    { cloog_loop_set_inner (loop, NULL); /* For loop integrity. */
+      cloog_loop_set_next (loop, NULL);  /* For loop integrity. */
+    cloog_loop_free_parts(loop,1,1,1,0) ;
+    cloog_domain_free(simp);
+    return(next) ;
+  }
+
+  new_block = cloog_block_copy (cloog_loop_block (loop));
+  
+  simplified = cloog_loop_alloc (simp, loop->stride, new_block, inner, next);
+  
+  /* Examples like test/iftest2.cloog give unions of polyhedra after
+   * simplifying, thus we we have to disjoint them. Another good reason to
+   * put the simplifying step in the Quillere backtrack.
+   */
+  simplified = cloog_loop_disjoint(simplified) ;
+
+  cloog_loop_set_inner (loop, NULL); /* For loop integrity. */
+  cloog_loop_set_next (loop, NULL);  /* For loop integrity. */
+  cloog_loop_free_parts(loop,1,1,0,0) ;
+
+  return(simplified) ; 
+}
+
+/**
+ * cloog_loop_scatter function:
+ * This function add the scattering (scheduling) informations in a loop.
+ */
+void cloog_loop_scatter(CloogLoop * loop, CloogDomain * scatt)
+{
+  CloogDomain *scattered_domain;
+  scattered_domain = cloog_domain_scatter(cloog_loop_domain (loop), scatt);
+  cloog_loop_set_domain (loop, scattered_domain);
+}
+
diff --git a/source/names.c b/source/names.c
new file mode 100644 (file)
index 0000000..f0913ca
--- /dev/null
@@ -0,0 +1,571 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             names.c                               **
+    **-------------------------------------------------------------------**
+    **                  First version: august 1st 2002                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2002-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <ctype.h>
+# include "../include/cloog/cloog.h"
+
+
+static inline int cloog_names_references (CloogNames *n)
+{
+  return n->_references;
+}
+
+static inline void cloog_names_init_references (CloogNames *n)
+{
+  n->_references = 1;
+}
+
+static inline void cloog_names_inc_references (CloogNames *n)
+{
+  n->_references++;
+}
+
+static inline void cloog_names_dec_references (CloogNames *n)
+{
+  n->_references--;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_names_print function:
+ * this function is a human-friendly way to display the CloogNames data
+ * structure, it shows all the different fields and includes an indentation
+ * level (level) in order to work with others print_structure functions.
+ * - July 1st 2005: first version based on the old cloog_names_print function,
+ *                  it was the first modification in this file since two years !
+ */
+void cloog_names_print_structure(FILE * file, CloogNames * names, int level)
+{ int i ;
+  
+  /* Go to the right level. */
+  for (i=0; i<level; i++)
+  fprintf(file,"|\t") ;
+  
+  if (names != NULL)
+  { fprintf(file,"+-- CloogNames\n") ;
+    
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the scalar dimension number. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    fprintf (file, "Scalar dimension number ---: %d\n", cloog_names_nb_scalars (names));
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the scalar iterators. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    if (cloog_names_nb_scalars (names) > 0)
+    { fprintf(file,"+-- Scalar iterator strings:") ;
+      for (i=0;i<cloog_names_nb_scalars (names);i++)
+       fprintf(file," %s",cloog_names_scalar_elt (names, i)) ;
+      fprintf(file,"\n") ;
+    }
+    else
+    fprintf(file,"+-- No scalar string\n") ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the scattering dimension number. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"Scattering dimension number: %d\n",cloog_names_nb_scattering (names)) ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the scattering iterators. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    if (cloog_names_nb_scattering (names) > 0)
+    { fprintf(file,"+-- Scattering strings ----:") ;
+      for (i=0;i<cloog_names_nb_scattering (names);i++)
+       fprintf (file, " %s", cloog_names_scattering_elt (names, i));
+      fprintf(file,"\n") ;
+    }
+    else
+    fprintf(file,"+-- No scattering string\n") ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+    
+    /* Print the iterator number. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"Iterator number -----------: %d\n",cloog_names_nb_iterators (names)) ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the iterators. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    if (cloog_names_nb_iterators (names) > 0)
+    { fprintf(file,"+-- Iterator strings ------:") ;
+      for (i=0;i<cloog_names_nb_iterators (names);i++)
+       fprintf(file," %s",cloog_names_iterator_elt (names, i)) ;
+      fprintf(file,"\n") ;
+    }
+    else
+    fprintf(file,"+-- No iterators\n") ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+    
+    /* Print the parameter number. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"Parameter number ----------: %d\n",cloog_names_nb_parameters (names)) ;
+
+    /* A blank line. */
+    for (i=0; i<=level+1; i++)
+    fprintf(file,"|\t") ;
+    fprintf(file,"\n") ;
+
+    /* Print the parameters. */
+    for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+    if (cloog_names_nb_parameters (names) > 0)
+    { fprintf(file,"+-- Parameter strings -----:") ;
+      for (i=0;i<cloog_names_nb_parameters (names);i++)
+       fprintf(file," %s",cloog_names_parameter_elt (names, i)) ;
+      fprintf(file,"\n") ;
+    }
+    else
+    fprintf(file,"No parameters\n") ;
+    
+  }
+  else
+  fprintf(file,"+-- No CloogNames\n") ;
+  fprintf(file, "Number of active references: %d\n", cloog_names_references (names));
+}
+
+
+/**
+ * cloog_names_print function:
+ * This function prints the content of a CloogNames structure (names) into a
+ * file (file, possibly stdout).
+ * - July 1st 2005: Now this function is only a frontend to
+ *                  cloog_program_print_structure, with a quite better
+ *                  human-readable representation.
+ */
+void cloog_names_print(FILE * file, CloogNames * names)
+{ cloog_names_print_structure(file,names,0) ;
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_names_free function:
+ * This function decrements the number of active references to 
+ * a CloogNames structure and frees the allocated memory for this structure
+ * if the count drops to zero.
+ */
+void cloog_names_free(CloogNames * names)
+{ int i ;
+
+  cloog_names_dec_references (names);
+  if (cloog_names_references (names))
+    return;
+
+  if (cloog_names_scalars (names))
+    {
+      for (i=0;i<cloog_names_nb_scalars (names);i++)
+       free (cloog_names_scalar_elt (names, i));
+      free (cloog_names_scalars (names));
+    }
+   
+  if (cloog_names_scattering (names))
+    {
+      for (i=0;i<cloog_names_nb_scattering (names);i++)
+       free (cloog_names_scattering_elt (names, i));
+      free (cloog_names_scattering (names));
+    }
+   
+  if (cloog_names_iterators (names))
+    {
+      for (i=0;i<cloog_names_nb_iterators (names);i++)
+       free (cloog_names_iterator_elt (names, i)) ;
+      free (cloog_names_iterators (names)) ;
+    }
+   
+  if (cloog_names_parameters (names))
+    {
+      for (i=0;i<cloog_names_nb_parameters (names);i++)
+       free (cloog_names_parameter_elt (names, i));
+      free(cloog_names_parameters (names));
+    }
+  free(names) ;
+}
+
+
+/**
+ * cloog_names_copy function:
+ * As usual in CLooG, "copy" means incrementing the reference count.
+ */ 
+CloogNames *cloog_names_copy(CloogNames *names)
+{
+  cloog_names_inc_references (names);
+  return names;
+}
+
+
+/******************************************************************************
+ *                              Reading functions                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_names_read_strings function:
+ * This function reads names data from a file (file, possibly stdin). It first
+ * reads the naming option to know if whether has to automatically generate the
+ * names, or to read them. Names are stored into an array of strings, and a
+ * pointer to this array is returned.
+ * - nb_items is the number of names the function will have to read if the
+ *   naming option is set to read.
+ * - prefix is the prefix to give to each name in case of automatic generation.
+ * - first item is the name of the first suffix in case of automatic generation.
+ **
+ * - September 9th 2002: first version.
+ */
+char ** cloog_names_read_strings(FILE *file, int nb_items, char *prefix, char first_item)
+{ int i, option, n ;
+  char s[MAX_STRING], str[MAX_STRING], * c, ** names ;
+
+  /* We first read name option. */
+  while (fgets(s,MAX_STRING,file) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %d",&option)<1))
+  fgets(s,MAX_STRING,file) ;
+  
+  /* If there is no item to read, then return NULL. */
+  if (nb_items == 0)
+  return NULL ;
+  
+  /* If option is to read them in the file, then we do it and put them into
+   * the array.
+   */
+  if (option)
+  { /* Memory allocation. */
+    names = (char **)malloc(nb_items*sizeof(char *)) ;
+    if (names == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+      exit(1) ;
+    }
+    for (i=0;i<nb_items;i++)
+    { names[i] = (char *)malloc(MAX_NAME*sizeof(char)) ;
+      if (names[i] == NULL) 
+      { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+        exit(1) ;
+      }
+    }
+    
+    do  /* Skip the comments, spaces and empty lines... */
+    { c = fgets(s,MAX_STRING,file) ;
+      while ((c != NULL) && isspace(*c) && (*c != '\n'))
+      c++ ;
+    }
+    while (c != NULL && (*c == '#' || *c == '\n'));
+    
+    if (c == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: no names in input file.\n") ;
+      exit(1) ;
+    }
+    for (i=0;i<nb_items;i++) 
+    { /* All names must be on the same line. */
+      while (isspace(*c))
+      c++ ;
+      if (c == NULL || *c == '#' || *c == '\n')
+      { fprintf(stderr, "[CLooG]ERROR: not enough names in input file.\n") ;
+        exit(1) ;
+      }
+      /* n is strlen(str). */
+      if (sscanf(c,"%s%n",str,&n) == 0) 
+      { fprintf(stderr, "[CLooG]ERROR: no names in input file.\n") ;
+        exit(1) ;
+      }
+      sscanf(str,"%s",names[i]) ;
+      c += n ;
+    }
+  }
+  /* Else we create names automatically. */
+  else
+  names = cloog_names_generate_items(nb_items,prefix,first_item) ;
+
+  return names ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * cloog_names_malloc function:
+ * This function allocates the memory space for a CloogNames structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogNames * cloog_names_malloc (void)
+{ CloogNames * names ;
+  
+  /* Memory allocation for the CloogNames structure. */
+  names = (CloogNames *)malloc(sizeof(CloogNames)) ;
+  if (names == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  /* We set the various fields with default values. */
+  cloog_names_set_nb_scalars (names, 0);
+  cloog_names_set_nb_scattering (names, 0);
+  cloog_names_set_nb_iterators (names, 0);
+  cloog_names_set_nb_parameters (names, 0);
+  cloog_names_set_scalars (names, NULL);
+  cloog_names_set_scattering (names, NULL);
+  cloog_names_set_iterators (names, NULL);
+  cloog_names_set_parameters (names, NULL);
+  cloog_names_init_references (names);
+  
+  return names ;
+}  
+
+
+/**
+ * cloog_names_alloc function:
+ * This function allocates the memory space for a CloogNames structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space.
+ * - July       7th 2005: first version.
+ * - September 11th 2005: addition of both scalar and scattering informations.
+ * - November  21th 2005: use of cloog_names_malloc.
+ */
+CloogNames * cloog_names_alloc(
+     int nb_scalars, int nb_scattering, int nb_iterators, int nb_parameters,
+     char **scalars, char **scattering, char **iterators, char **parameters)
+{ CloogNames * names ;
+
+  /* Memory allocation for the CloogNames structure. */
+  names = cloog_names_malloc() ;
+  
+  cloog_names_set_nb_scalars (names, nb_scalars);
+  cloog_names_set_nb_scattering (names, nb_scattering);
+  cloog_names_set_nb_iterators (names, nb_iterators);
+  cloog_names_set_nb_parameters (names, nb_parameters);
+  cloog_names_set_scalars (names, scalars);
+  cloog_names_set_scattering (names, scattering);
+  cloog_names_set_iterators (names, iterators);
+  cloog_names_set_parameters (names, parameters);
+  
+  return names ;
+}
+
+
+/**
+ * cloog_names_generate_items function:
+ * This function returns a pointer to an array of strings with entries set
+ * based on the function's parameters.
+ * - nb_items will be the number of entries in the string array.
+ * - prefix is the name prefix of each item or NULL.
+ *   If not NULL, then the remainder of the name will be an integer
+ *   in the range [0, nb_items-1].
+ * - first_item is the name of the first item (if prefix == NULL),
+ *   the nb_items-1 following items will be the nb_items-1
+ *   following letters in ASCII code.
+ **
+ * - September 9th 2002 : first version, extracted from cloog_names_generate.
+ */
+char ** cloog_names_generate_items(int nb_items, char * prefix, char first_item)
+{ int i ;
+  char ** names ;
+  
+  if (nb_items == 0)
+  return NULL ;
+    
+  names = (char **)malloc(nb_items*sizeof(char *)) ;
+  if (names == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  for (i=0;i<nb_items;i++)
+  { names[i] = (char *)malloc(MAX_NAME*sizeof(char)) ;
+    if (names[i] == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+      exit(1) ;
+    }
+    if (prefix == NULL)
+    sprintf(names[i],"%c",first_item+i) ;
+    else
+      sprintf(names[i], "%s%d", prefix, 1+i);
+  }
+  
+  return names ;
+}
+
+
+/**
+ * cloog_names_generate function:
+ * This function returns a pointer to a CloogNames structure with fields set
+ * thanks to the function's parameters.
+ * - nb_scalars will be the number of scalar dimensions in the structure.
+ * - nb_scattering will be the number of scattering dimensions in the structure.
+ * - nb_iterators will be the number of iterators in the CloogNames structure.
+ * - nb_parameters will be the number of parameters in the CloogNames structure.
+ * - first_s is the name of the first scalar iterator, the nb_scalars-1
+ *   following iterators will be the nb_scalars-1 following letters in ASCII.
+ * - first_t is the name of the first scattering iterator, the nb_scattering-1
+ *   following iterators will be the nb_scattering-1 following letters in ASCII.
+ * - first_i is the name of the first iterator, the nb_iterators-1 following
+ *   iterators will be the nb_iterators-1 following letters in ASCII code.
+ * - first_i is the name of the first iterator, the nb_iterators-1 following
+ *   iterators will be the nb_iterators-1 following letters in ASCII code.
+ * - first_p is the name of the first parameter, the nb_parameters-1 following
+ *   parameters will be the nb_parameters-1 following letters in ASCII code.
+ **
+ * - July       1st 2002 : first version.
+ * - September  9th 2002 : use of cloog_names_generate_items.
+ * - September 11th 2005 : addition of both scalar and scattering informations.
+ */
+CloogNames * cloog_names_generate(
+     int nb_scalars, int nb_scattering, int nb_iterators, int nb_parameters,
+     char first_s, char first_t, char first_i, char first_p)
+{ CloogNames * names ;
+
+  names = (CloogNames *)malloc(sizeof(CloogNames)) ;
+  if (names == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  cloog_names_set_nb_scalars (names, nb_scalars);
+  cloog_names_set_nb_scattering (names, nb_scattering);
+  cloog_names_set_nb_parameters (names, nb_parameters);
+  cloog_names_set_nb_iterators (names, nb_iterators);
+  cloog_names_set_scalars (names, cloog_names_generate_items (nb_scalars, NULL, first_s));
+  cloog_names_set_scattering (names, cloog_names_generate_items (nb_scattering,
+                                                                NULL, first_t));
+  cloog_names_set_parameters (names, cloog_names_generate_items (nb_parameters, NULL, first_p));
+  cloog_names_set_iterators (names, cloog_names_generate_items (nb_iterators, NULL, first_i));
+
+  return names ;
+}
+
+
+/* Lastly we update the CLoogNames structure: the iterators corresponding to
+ * scalar dimensions have to be removed since these dimensions have been
+ * erased and do not need to be print. We copy all the iterator names except
+ * the scalar ones in a new string array.
+ * - September 12th 2005: first version. 
+ */
+void cloog_names_scalarize(CloogNames * names, int nb_scattdims, int * scaldims)
+{ int  nb_scalars, nb_scattering, i, current_scalar, current_scattering ;
+  char ** scalars, ** scattering ;
+
+  if (!nb_scattdims || (scaldims == NULL))
+  return ;
+  
+  nb_scalars = 0 ;
+  for (i=0;i<nb_scattdims;i++)
+  if (scaldims[i])
+  nb_scalars  ++ ;
+
+  if (!nb_scalars)
+  return ;
+  
+  nb_scattering = cloog_names_nb_scattering (names) - nb_scalars ;
+  scattering = (char **)malloc(nb_scattering * sizeof(char *)) ;
+  if (scattering == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  scalars = (char **)malloc(nb_scalars * sizeof(char *)) ;
+  if (scalars == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  current_scalar = 0 ;
+  current_scattering  = 0 ;
+  for (i=0;i<nb_scattdims;i++)
+  { if (!scaldims[i])
+      { scattering[current_scattering] = cloog_names_scattering_elt (names, i);
+      current_scattering ++ ;
+    }
+    else
+      { scalars[current_scalar] = cloog_names_scattering_elt (names, i);
+      current_scalar ++ ;
+    }
+  }
+  
+  free(cloog_names_scattering (names)) ;
+  cloog_names_set_scattering (names, scattering);
+  cloog_names_set_scalars (names, scalars);
+  cloog_names_set_nb_scattering (names, nb_scattering);
+  cloog_names_set_nb_scalars (names, nb_scalars);
+}
diff --git a/source/options.c b/source/options.c
new file mode 100644 (file)
index 0000000..5a09e9c
--- /dev/null
@@ -0,0 +1,441 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                            options.c                              **
+    **-------------------------------------------------------------------**
+    **                  First version: april 19th 2003                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+# include "../include/cloog/cloog.h"
+
+/**
+ * Maximum number of rays in the dual representation of PolyLib, see
+ * domain.c for the original declaration.
+ */
+extern int MAX_RAYS ;
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_option_print function:
+ * This function prints the content of a CloogOptions structure (program) into
+ * a file (foo, possibly stdout).
+ * - April 19th 2003: first version.
+ */
+void cloog_options_print(FILE * foo, CloogOptions * options)
+{ fprintf(foo,"Options:\n") ;
+  fprintf(foo,"OPTIONS FOR LOOP GENERATION\n") ;
+  fprintf(foo,"l           = %3d,\n",options->l) ;
+  fprintf(foo,"f           = %3d,\n",options->f) ;
+  fprintf(foo,"stop        = %3d,\n",options->stop) ;
+  fprintf(foo,"strides     = %3d,\n",options->strides) ;
+  fprintf(foo,"sh          = %3d,\n",options->sh);
+  fprintf(foo,"OPTIONS FOR PRETTY PRINTING\n") ;
+  fprintf(foo,"esp         = %3d,\n",options->esp) ;
+  fprintf(foo,"csp         = %3d,\n",options->csp) ;
+  fprintf(foo,"fsp         = %3d,\n",options->fsp) ;
+  fprintf(foo,"otl         = %3d.\n",options->otl) ;
+  fprintf(foo,"block       = %3d.\n",options->block) ;
+  fprintf(foo,"cpp         = %3d.\n",options->cpp) ;
+  fprintf(foo,"compilable  = %3d.\n",options->compilable) ;
+  fprintf(foo,"UNDOCUMENTED OPTIONS FOR THE AUTHOR ONLY\n") ;
+  fprintf(foo,"leaks       = %3d.\n",options->leaks) ;
+  fprintf(foo,"nobacktrack = %3d.\n",options->nobacktrack) ;
+  fprintf(foo,"override    = %3d.\n",options->override) ;
+  fprintf(foo,"structure   = %3d.\n",options->structure) ;
+  fprintf(foo,"noscalars   = %3d.\n",options->noscalars) ;
+  fprintf(foo,"noblocks    = %3d.\n",options->noblocks) ;
+  fprintf(foo,"nosimplify  = %3d.\n",options->nosimplify) ;
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_options_free function:
+ * This function frees the allocated memory for a CloogOptions structure.
+ * - April 19th 2003: first version.
+ */
+void cloog_options_free(CloogOptions * options)
+{ free(options) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * cloog_options_help function:
+ * This function displays the quick help when the user set the option -help
+ * while calling cloog. Prints are cutted to respect the 509 characters
+ * limitation of the ISO C 89 compilers.
+ * - August 5th 2002: first version.
+ */
+static void cloog_options_help (void)
+{ printf(
+  "Usage: cloog [ options | file ] ...\n"
+  "Options for code generation:\n"
+  "  -l <depth>            Last loop depth to optimize (-1: infinity)\n"
+  "                        (default setting: -1).\n"
+  "  -f <depth>            First loop depth to start loop separation (-1: "
+  "infinity)\n                        (default setting:  1).\n") ;
+  printf(
+  "  -stop <depth>         Loop depth to stop code generation (-1: infinity)"
+  "\n                        (default setting: -1).\n"
+  "  -strides <boolean>    Handle non-unit strides (1) or not (0)\n"
+  "                        (default setting:  0).\n") ;
+  printf(
+  "\nOptions for pretty printing:\n"
+  "  -otl <boolean>        Simplify loops running one time (1) or not (0)\n"
+  "                        (default setting:  1).\n") ;
+  printf(
+  "  -esp <boolean>        Allow complex equalities spreading (1) or not (0)\n"
+  "                        (default setting:  0).\n"
+  "  -csp <boolean>        Allow constant spreading (1) or not (0)\n"
+  "                        (default setting:  1).\n") ;
+  printf(
+  "  -fsp <level>          First level to begin the spreading\n"
+  "                        (default setting:  1).\n"
+  "  -block <boolean>      Make a new statement block per iterator in C\n"
+  "                        programs (1) or not (0) (default setting: 0).\n") ;
+  printf(
+  "  -cpp <boolean>        Compilable block by using preprocessor (1) or not "
+  "(0)\n                        (default setting:  0).\n"
+  "  -compilable <number>  Compilable code by using preprocessor (not 0) or" 
+  "\n                        not (0), number being the value of the parameters"
+  "\n                        (default setting:  0).\n");
+  printf(
+  "\nGeneral options:\n"
+  "  -o <output>           Name of the output file; 'stdout' is a special\n"
+  "                        value: when used, output is standard output\n"
+  "                        (default setting: stdout).\n"
+  "  -v, --version         Display the version information (and more).\n"
+  "  -h, --help            Display this information.\n\n") ;
+  printf(
+  "The special value 'stdin' for 'file' makes CLooG to read data on\n"
+  "standard input.\n\n"
+  "For bug reporting or any suggestions, please send an email to the author\n"
+  "<cedric.bastoul@inria.fr>.\n") ;
+}
+
+
+/**
+ * cloog_options_version function:
+ * This function displays some version informations when the user set the
+ * option -version while calling cloog. Prints are cutted to respect the 509
+ * characters limitation of the ISO C 89 compilers.
+ * - August 5th 2002: first version.
+ */
+static void cloog_options_version (void)
+{ printf("%s       The Chunky Loop Generator\n", cloog_version());
+  printf(
+  "-----\n"
+  "This is a loop generator for scanning Z-polyhedra. It is based on the "
+  "work of\nF. Quillere and C. Bastoul on high level code generation and of "
+  "the PolyLib Team\non polyhedral computation. This program is distributed "
+  "under the terms of the\nGNU General Public License "
+  "(details at http://www.gnu.org/copyleft/gpl.html).\n"
+  "-----\n") ;
+  printf(
+  "It would be fair to refer the following paper in any publication "
+  "resulting from\nthe use of this software or its library:\n"
+  "@InProceedings{Bas04,\n"
+  "author    =  {Cedric Bastoul},\n"
+  "title     =  {Code Generation in the Polyhedral Model Is Easier Than You "
+  "Think},\n"
+  "booktitle =  {PACT'13 IEEE International Conference on Parallel "
+  "Architecture\n             and Compilation Techniques},\n"
+  "pages     =  {7--16},\n"
+  "month     =  {september},\n"
+  "year      =  2004,\n"
+  "address   =  {Juan-les-Pins}\n"
+  "}\n"
+  "-----\n"
+  "For any information, please ask the author at "
+  "<cedric.bastoul@inria.fr>.\n") ;
+} 
+
+
+/**
+ * cloog_options_set function:
+ * This function sets the value of an option thanks to the user's calling line.
+ * - option is the value to set,
+ * - argc are the elements of the user's calling line,
+ * - number is the number of the element corresponding to the considered option,
+ *   this function adds 1 to number to pass away the option value.
+ **
+ * - August 5th 2002: first version.
+ * - June 29th 2003: (debug) lack of argument now detected.
+ */
+static void cloog_options_set (int * option, int argv, char ** argc, int * number)
+{ char ** endptr ;
+  
+  if (*number+1 >= argv)
+  { fprintf(stderr, "[CLooG]ERROR: an option lacks of argument.\n") ;
+    exit(1) ;
+  }
+
+  endptr = NULL ;
+  *option = strtol(argc[*number+1],endptr,10) ;
+  if (endptr != NULL)
+  { fprintf(stderr, "[CLooG]ERROR: %s value for %s option is not valid.\n",
+            argc[*number+1],argc[*number]) ;
+    exit(1) ;
+  }
+  *number = *number + 1 ;
+}
+
+
+/**
+ * cloog_options_malloc function:
+ * This functions allocate the memory space for a CLoogOptions structure and
+ * fill its fields with the defaults values. It returns a pointer to the
+ * allocated CloogOptions structure.
+ * - April    19th 2003: first version.
+ * - November 21th 2005: name changed (before it was cloog_options_init).
+ */
+CloogOptions * cloog_options_malloc(void)
+{ CloogOptions * options ;
+
+  /* Memory allocation for the CloogOptions structure. */
+  options = (CloogOptions *)malloc(sizeof(CloogOptions)) ;
+  if (options == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  } 
+  
+  /* We set the various fields with default values. */
+  /* OPTIONS FOR LOOP GENERATION */
+  options->l           = -1 ;  /* Last level to optimize: infinity. */
+  options->f           =  1 ;  /* First level to optimize: the first. */
+  options->stop        = -1 ;  /* Generate all the code. */
+  options->strides     =  0 ;  /* Generate a code with unit strides. */
+  options->sh         =  0;   /* Compute actual convex hull. */
+  options->name               =  0;
+  /* OPTIONS FOR PRETTY PRINTING */
+  options->esp         =  0 ;  /* We don't want Equality SPreading.*/
+  options->csp         =  1 ;  /* We want only Constant SPreading. */
+  options->fsp         =  1 ;  /* The First level to SPread is the first. */
+  options->otl         =  1 ;  /* We want to fire One Time Loops. */
+  options->block       =  0 ;  /* We don't want to force statement blocks. */
+  options->cpp         =  0 ;  /* No preprocessing facilities. */
+  options->compilable  =  0 ;  /* No compilable code. */
+  /* UNDOCUMENTED OPTIONS FOR THE AUTHOR ONLY */
+  options->leaks       =  0 ;  /* I don't want to print allocation statistics.*/
+  options->nobacktrack =  0 ;  /* No backtrack in Quillere's algorithm.*/
+  options->override    =  0 ;  /* I don't want to override CLooG decisions.*/
+  options->structure   =  0 ;  /* I don't want to print internal structure.*/
+  options->noblocks    =  0 ;  /* I do want to make statement blocks.*/
+  options->noscalars   =  0 ;  /* I do want to use scalar dimensions.*/
+  options->nosimplify  =  0 ;  /* I do want to simplify polyhedra.*/
+  
+  return options ;
+}
+
+
+
+/**
+ * cloog_options_read function:
+ * This functions reads all the options and the input/output files thanks
+ * the the user's calling line elements (in argc). It fills a CloogOptions
+ * structure and the FILE structure corresponding to input and output files.
+ * - August 5th 2002: first version.
+ * - April 19th 2003: now in options.c and support of the CloogOptions structure.
+ */
+void cloog_options_read(int argv, char **argc, FILE **input, FILE **output, CloogOptions **options)
+{ int i, infos=0, input_is_set=0 ;
+  
+  /* CloogOptions structure allocation and initialization. */
+  *options = cloog_options_malloc() ;
+  
+  /* The default output is the standard output. */
+  *output = stdout ;
+
+  for (i=1;i<argv;i++)
+  if (argc[i][0] == '-')
+  { if (strcmp(argc[i],"-l")   == 0)
+    cloog_options_set(&(*options)->l,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-f")   == 0)
+    cloog_options_set(&(*options)->f,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-stop")   == 0)
+    cloog_options_set(&(*options)->stop,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-strides")   == 0)
+    cloog_options_set(&(*options)->strides,argv,argc,&i) ;
+    else if (strcmp(argc[i],"-sh")   == 0)
+      cloog_options_set(&(*options)->sh,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-otl") == 0)
+    cloog_options_set(&(*options)->otl,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-esp") == 0)
+    cloog_options_set(&(*options)->esp,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-csp") == 0)
+    cloog_options_set(&(*options)->csp,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-fsp") == 0)
+    cloog_options_set(&(*options)->fsp,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-block") == 0)
+    cloog_options_set(&(*options)->block,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-cpp") == 0)
+    cloog_options_set(&(*options)->cpp,argv,argc,&i) ;
+    else
+    if (strcmp(argc[i],"-compilable") == 0)
+    { cloog_options_set(&(*options)->compilable,argv,argc,&i) ;
+      (*options)->cpp = 1 ;
+    }
+    else
+    if (strcmp(argc[i],"-rays") == 0)
+    { if (i+1 >= argv)
+      { fprintf(stderr, "[CLooG]ERROR: an option lacks of argument.\n") ;
+        exit(1) ;
+      }
+
+      MAX_RAYS = atoi(argc[i+1]) ;
+      if (MAX_RAYS < 1)
+      { fprintf(stderr, "[CLooG]ERROR: %s value for %s option is not valid.\n",
+                argc[i+1],argc[i]) ;
+        exit(1) ;
+      }
+      i++ ;
+    } 
+    else
+    if (strcmp(argc[i],"-loopo") == 0) /* Special option for the LooPo team ! */
+    { (*options)->esp   = 0 ;
+      (*options)->csp   = 0 ;
+      (*options)->block = 1 ;
+      (*options)->cpp   = 1 ;
+    }
+    else
+    if (strcmp(argc[i],"-bipbip") == 0)/* Special option for the author only !*/
+    { (*options)->nobacktrack = 1 ;
+      MAX_RAYS = 50 ;
+    }
+    else
+    if (strcmp(argc[i],"-leaks") == 0)
+    (*options)->leaks = 1 ;
+    else
+    if (strcmp(argc[i],"-nobacktrack") == 0)
+    (*options)->nobacktrack = 1 ;
+    else
+    if (strcmp(argc[i],"-override") == 0)
+    (*options)->override = 1 ;
+    else
+    if (strcmp(argc[i],"-noblocks") == 0)
+    (*options)->noblocks = 1 ;
+    else
+    if (strcmp(argc[i],"-noscalars") == 0)
+    (*options)->noscalars = 1 ;
+    else
+    if (strcmp(argc[i],"-nosimplify") == 0)
+    (*options)->nosimplify = 1 ;
+    else
+    if ((strcmp(argc[i],"-struct") == 0) || (strcmp(argc[i],"-structure") == 0))
+    (*options)->structure = 1 ;
+    else
+    if ((strcmp(argc[i],"--help") == 0) || (strcmp(argc[i],"-h") == 0))
+    { cloog_options_help() ;
+      infos = 1 ;
+    }
+    else
+    if ((strcmp(argc[i],"--version") == 0) || (strcmp(argc[i],"-v") == 0))
+    { cloog_options_version() ;
+      infos = 1 ;
+    }
+    else
+    if (strcmp(argc[i],"-o") == 0)
+    { if (i+1 >= argv)
+      { fprintf(stderr, "[CLooG]ERROR: no output name for -o option.\n") ;
+        exit(1) ;
+      }
+
+      /* stdout is a special value, when used, we set output to standard
+       * output.
+       */
+      if (strcmp(argc[i+1],"stdout") == 0)
+      *output = stdout ;
+      else
+      { *output = fopen(argc[i+1],"w") ;
+        if (*output == NULL)
+        { fprintf(stderr, "[CLooG]ERROR: can't create output file %s.\n",
+                 argc[i+1]) ;
+          exit(1) ;
+        }
+      }
+      i ++ ;    
+    }
+    else
+    fprintf(stderr, "[CLooG]WARNING: unknown %s option.\n",argc[i]) ;
+  }
+  else
+  { if (!input_is_set)
+    { input_is_set = 1 ;
+      (*options)->name = argc[i] ;
+      /* stdin is a special value, when used, we set input to standard input. */
+      if (strcmp(argc[i],"stdin") == 0)
+      *input = stdin ;
+      else
+      { *input = fopen(argc[i],"r") ;
+        if (*input == NULL)
+        { fprintf(stderr, "[CLooG]ERROR: %s file does not exist.\n",argc[i]) ;
+          exit(1) ;
+        }
+      }
+    } 
+    else
+    { fprintf(stderr, "[CLooG]ERROR: multiple input files.\n") ;
+      exit(1) ;
+    }
+  }
+  if (!input_is_set)
+  { if (!infos)
+    fprintf(stderr, "[CLooG]ERROR: no input file (-h for help).\n") ;
+    exit(1) ;
+  }
+}
+
diff --git a/source/polylib/clast.c b/source/polylib/clast.c
new file mode 100644 (file)
index 0000000..370f201
--- /dev/null
@@ -0,0 +1,1529 @@
+#include <stdlib.h>
+#include <assert.h>
+#include "../../include/cloog/cloog.h"
+#include "matrix.h"
+
+#define ALLOC(type) (type*)malloc(sizeof(type))
+#define ALLOCN(type,n) (type*)malloc((n)*sizeof(type))
+
+/**
+ * CloogInfos structure:
+ * this structure contains all the informations necessary for pretty printing,
+ * they come from the original CloogProgram structure (language, names), from
+ * genereral options (options) or are built only for pretty printing (stride).
+ * This structure is mainly there to reduce the number of function parameters,
+ * since most pprint.c functions need most of its field.
+ */
+struct clooginfos
+{ Value * stride ;           /**< The stride for each iterator. */
+  int  nb_scattdims ;        /**< Scattering dimension number. */
+  int * scaldims ;           /**< Boolean array saying whether a given
+                              *   scattering dimension is scalar or not.
+                              */
+  CloogNames * names ;       /**< Names of iterators and parameters. */
+  CloogOptions * options ;   /**< Options on CLooG's behaviour. */
+  CloogMatrix *equal;        /**< Matrix of equalities. */
+} ;
+
+typedef struct clooginfos CloogInfos ;
+
+struct clast_term *new_clast_term(Value c, const char *v)
+{
+    struct clast_term *t = malloc(sizeof(struct clast_term));
+    t->expr.type = expr_term;
+    value_init(t->val);
+    value_assign(t->val, c);
+    t->var = v;
+    return t;
+}
+
+struct clast_binary *new_clast_binary(enum clast_bin_type t, 
+                                     struct clast_expr *lhs, Value rhs)
+{
+    struct clast_binary *b = malloc(sizeof(struct clast_binary));
+    b->expr.type = expr_bin;
+    b->type = t;
+    b->LHS = lhs;
+    value_init(b->RHS);
+    value_assign(b->RHS, rhs);
+    return b;
+}
+
+struct clast_reduction *new_clast_reduction(enum clast_red_type t, int n)
+{
+    int i;
+    struct clast_reduction *r;
+    r = malloc(sizeof(struct clast_reduction)+(n-1)*sizeof(struct clast_expr *));
+    r->expr.type = expr_red;
+    r->type = t;
+    r->n = n;
+    for (i = 0; i < n; ++i)
+       r->elts[i] = NULL;
+    return r;
+}
+
+static void free_clast_root(struct clast_stmt *s)
+{
+    struct clast_root *r = (struct clast_root *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_root));
+    cloog_names_free(r->names);
+    free(r);
+}
+
+struct clast_stmt_op stmt_root = { free_clast_root };
+
+struct clast_root *new_clast_root(CloogNames *names)
+{
+    struct clast_root *r = malloc(sizeof(struct clast_root));
+    r->stmt.op = &stmt_root;
+    r->stmt.next = NULL;
+    r->names = cloog_names_copy(names);
+    return r;
+}
+
+static void free_clast_assignment(struct clast_stmt *s);
+
+struct clast_stmt_op stmt_ass = { free_clast_assignment };
+
+static void free_clast_assignment(struct clast_stmt *s)
+{
+    struct clast_assignment *a = (struct clast_assignment *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_ass));
+    free_clast_expr(a->RHS);
+    free(a);
+}
+
+struct clast_assignment *new_clast_assignment(const char *lhs,
+                                             struct clast_expr *rhs)
+{
+    struct clast_assignment *a = malloc(sizeof(struct clast_assignment));
+    a->stmt.op = &stmt_ass;
+    a->stmt.next = NULL;
+    a->LHS = lhs;
+    a->RHS = rhs;
+    return a;
+}
+
+static void free_clast_user_stmt(struct clast_stmt *s);
+
+struct clast_stmt_op stmt_user = { free_clast_user_stmt };
+
+static void free_clast_user_stmt(struct clast_stmt *s)
+{
+    struct clast_user_stmt *u = (struct clast_user_stmt *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_user));
+    cloog_clast_free(u->substitutions);
+    free(u);
+}
+
+struct clast_user_stmt *new_clast_user_stmt(CloogStatement *stmt, 
+                                           struct clast_stmt *subs)
+{
+    struct clast_user_stmt *u = malloc(sizeof(struct clast_user_stmt));
+    u->stmt.op = &stmt_user;
+    u->stmt.next = NULL;
+    u->statement = stmt;
+    u->substitutions = subs;
+    return u;
+}
+
+static void free_clast_block(struct clast_stmt *s)
+{
+    struct clast_block *b = (struct clast_block *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_block));
+    cloog_clast_free(b->body);
+    free(b);
+}
+
+struct clast_stmt_op stmt_block = { free_clast_block };
+
+struct clast_block *new_clast_block()
+{
+    struct clast_block *b = malloc(sizeof(struct clast_block));
+    b->stmt.op = &stmt_block;
+    b->stmt.next = NULL;
+    b->body = NULL;
+    return b;
+}
+
+static void free_clast_for(struct clast_stmt *s)
+{
+    struct clast_for *f = (struct clast_for *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_for));
+    free_clast_expr(f->LB);
+    free_clast_expr(f->UB);
+    value_clear(f->stride);
+    cloog_clast_free(f->body);
+    free(f);
+}
+
+struct clast_stmt_op stmt_for = { free_clast_for };
+
+struct clast_for *new_clast_for(const char *it, struct clast_expr *LB, 
+                               struct clast_expr *UB, Value stride)
+{
+    struct clast_for *f = malloc(sizeof(struct clast_for));
+    f->stmt.op = &stmt_for;
+    f->stmt.next = NULL;
+    f->iterator = it;
+    f->LB = LB;
+    f->UB = UB;
+    f->body = NULL;
+    value_init(f->stride);
+    value_assign(f->stride, stride);
+    return f;
+}
+
+static void free_clast_guard(struct clast_stmt *s)
+{
+    int i;
+    struct clast_guard *g = (struct clast_guard *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_guard));
+    cloog_clast_free(g->then);
+    for (i = 0; i < g->n; ++i) {
+       free_clast_expr(g->eq[i].LHS);
+       free_clast_expr(g->eq[i].RHS);
+    }
+    free(g);
+}
+
+struct clast_stmt_op stmt_guard = { free_clast_guard };
+
+struct clast_guard *new_clast_guard(int n)
+{
+    int i;
+    struct clast_guard *g = malloc(sizeof(struct clast_guard) + 
+                                  (n-1) * sizeof(struct clast_equation));
+    g->stmt.op = &stmt_guard;
+    g->stmt.next = NULL;
+    g->then = NULL;
+    g->n = n;
+    for (i = 0; i < n; ++i) {
+       g->eq[i].LHS = NULL;
+       g->eq[i].RHS = NULL;
+    }
+    return g;
+}
+
+void free_clast_term(struct clast_term *t)
+{
+    value_clear(t->val);
+    free(t);
+}
+
+void free_clast_binary(struct clast_binary *b)
+{
+    value_clear(b->RHS);
+    free_clast_expr(b->LHS);
+    free(b);
+}
+
+void free_clast_reduction(struct clast_reduction *r)
+{
+    int i;
+    for (i = 0; i < r->n; ++i)
+       free_clast_expr(r->elts[i]);
+    free(r);
+}
+
+void free_clast_expr(struct clast_expr *e)
+{
+    if (!e)
+       return;
+    switch (e->type) {
+    case expr_term:
+       free_clast_term((struct clast_term*) e);
+       break;
+    case expr_red:
+       free_clast_reduction((struct clast_reduction*) e);
+       break;
+    case expr_bin:
+       free_clast_binary((struct clast_binary*) e);
+       break;
+    default:
+       assert(0);
+    }
+}
+
+void free_clast_stmt(struct clast_stmt *s)
+{
+    assert(s->op);
+    assert(s->op->free);
+    s->op->free(s);
+}
+
+void cloog_clast_free(struct clast_stmt *s)
+{
+    struct clast_stmt *next;
+    while (s) {
+       next = s->next;
+       free_clast_stmt(s);
+       s = next;
+    }
+}
+
+static int clast_term_equal(struct clast_term *t1, struct clast_term *t2)
+{
+    if (t1->var != t2->var)
+       return 0;
+    return value_eq(t1->val, t2->val);
+}
+
+static int clast_binary_equal(struct clast_binary *b1, struct clast_binary *b2)
+{
+    if (b1->type != b2->type)
+       return 0;
+    if (value_ne(b1->RHS, b2->RHS))
+       return 0;
+    return clast_expr_equal(b1->LHS, b2->LHS);
+}
+
+static int clast_reduction_equal(struct clast_reduction *r1, struct clast_reduction *r2)
+{
+    int i;
+    if (r1->type == clast_red_max && r2->type == clast_red_min && 
+           r1->n == 1 && r2->n == 1)
+       return clast_expr_equal(r1->elts[0], r2->elts[0]);
+    if (r1->type != r2->type)
+       return 0;
+    if (r1->n != r2->n)
+       return 0;
+    for (i = 0; i < r1->n; ++i)
+       if (!clast_expr_equal(r1->elts[i], r2->elts[i]))
+           return 0;
+    return 1;
+}
+
+int clast_expr_equal(struct clast_expr *e1, struct clast_expr *e2)
+{
+    if (!e1 && !e2)
+       return 1;
+    if (!e1 || !e2)
+       return 0;
+    if (e1->type != e2->type)
+       return 0;
+    switch (e1->type) {
+    case expr_term:
+       return clast_term_equal((struct clast_term*) e1, 
+                               (struct clast_term*) e2);
+    case expr_bin:
+       return clast_binary_equal((struct clast_binary*) e1, 
+                                 (struct clast_binary*) e2);
+    case expr_red:
+       return clast_reduction_equal((struct clast_reduction*) e1, 
+                                    (struct clast_reduction*) e2);
+    default:
+       assert(0);
+    }
+}
+
+
+/******************************************************************************
+ *                        Equalities spreading functions                      *
+ ******************************************************************************/
+
+
+/* Equalities are stored inside a CloogMatrix data structure called "equal".
+ * This matrix has (nb_scattering + nb_iterators + 1) rows (i.e. total
+ * dimensions + 1, the "+ 1" is because a statement can be included inside an
+ * external loop without iteration domain), and (nb_scattering + nb_iterators +
+ * nb_parameters + 2) columns (all unknowns plus the scalar plus the equality
+ * type). The ith row corresponds to the equality "= 0" for the ith dimension
+ * iterator. The first column gives the equality type (0: no equality, then
+ * EQTYPE_* -see pprint.h-). At each recursion of pprint, if an equality for
+ * the current level is found, the corresponding row is updated. Then the
+ * equality if it exists is used to simplify expressions (e.g. if we have 
+ * "i+1" while we know that "i=2", we simplify it in "3"). At the end of
+ * the pprint call, the corresponding row is reset to zero.
+ */
+
+
+/**
+ * clast_equal_type function :
+ * This function returns the type of the equality in the constraint (line) of
+ * (equal) for the element (level). An equality is 'constant' iff all other
+ * factors are null except the constant one. It is a 'pure item' iff one and
+ * only one factor is non null and is 1 or -1. Otherwise it is an 'affine
+ * expression'.
+ * For instance:
+ *   i = -13 is constant, i = j, j = -M are pure items,
+ *   j = 2*M, i = j+1 are affine expressions.
+ * When the equality comes from a 'one time loop', (line) is ONE_TIME_LOOP.
+ * This case require a specific treatment since we have to study all the
+ * constraints.
+ * - equal is the matrix of equalities,
+ * - level is the column number in equal of the element which is 'equal to',
+ * - line is the line number in equal of the constraint we want to study;
+ *   if it is -1, all lines must be studied.
+ **
+ * - July     3rd 2002: first version, called pprint_equal_isconstant. 
+ * - July     6th 2002: adaptation for the 3 types. 
+ * - June    15th 2005: (debug) expr = domain->Constraint[line] was evaluated
+ *                      before checking if line != ONE_TIME_LOOP. Since
+ *                      ONE_TIME_LOOP is -1, an invalid read was possible.
+ * - October 19th 2005: Removal of the once-time-loop specific processing.
+ */
+static int clast_equal_type(CloogMatrix *equal, int level, int line)
+{ 
+  int i, one=0 ;
+  
+  /* There is only one non null factor, and it must be +1 or -1 for
+   * iterators or parameters.
+   */ 
+  for (i=1;i<=equal->NbColumns-2;i++)
+    if (value_notzero_p(cloog_matrix_element(equal, line, i)) && (i != level))
+      { if ((value_notone_p(cloog_matrix_element(equal, line, i))
+            && value_notmone_p(cloog_matrix_element(equal, line, i)))
+           || (one != 0))
+    return EQTYPE_EXAFFINE ;
+    else
+    one = 1 ;
+  }
+  /* if the constant factor is non null, it must be alone. */
+  if (one != 0)
+    { if (value_notzero_p(cloog_matrix_element(equal, line, equal->NbColumns-1)))
+    return EQTYPE_EXAFFINE ;
+  }
+  else
+  return EQTYPE_CONSTANT ;
+  
+  return EQTYPE_PUREITEM ;
+}
+
+
+/**
+ * clast_equal_allow function:
+ * This function checks whether the options allow us to spread the equality or
+ * not. It returns 1 if so, 0 otherwise.
+ * - equal is the matrix of equalities,
+ * - level is the column number in equal of the element which is 'equal to',
+ * - line is the line number in equal of the constraint we want to study,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - October 27th 2005: first version (extracted from old pprint_equal_add).
+ */
+static int clast_equal_allow(CloogMatrix *equal, int level, int line, CloogInfos *infos)
+{ 
+  if ((!infos->options->csp && !infos->options->esp) ||
+      (level < infos->options->fsp))
+  return 0 ;
+  
+  if (infos->options->csp &&
+      (clast_equal_type(equal,level,line) == EQTYPE_EXAFFINE) &&
+      !infos->options->esp)
+  return 0 ;
+
+  return 1 ;
+}
+
+
+/**
+ * clast_equal_add function:
+ * This function updates the row (level-1) of the equality matrix (equal) with
+ * the row that corresponds to the row (line) of the matrix (matrix). It returns
+ * 1 if the row can be updated, 0 otherwise.
+ * - equal is the matrix of equalities,
+ * - matrix is the matrix of constraints,
+ * - level is the column number in matrix of the element which is 'equal to',
+ * - line is the line number in matrix of the constraint we want to study,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - July     2nd 2002: first version. 
+ * - October 19th 2005: Addition of the once-time-loop specific processing.
+ */
+static int clast_equal_add(CloogMatrix *equal, CloogMatrix *matrix, int level, int line,
+                          CloogInfos *infos)
+{ 
+  int i ;
+  Value numerator, denominator, division, modulo ;
+
+  /* If we are in the case of a loop running once, this means that the equality
+   * comes from an inequality. Here we find this inequality.
+   */
+  if (line == ONE_TIME_LOOP)
+  { for (i=0;i<matrix->NbRows;i++)
+      if ((value_notzero_p(cloog_matrix_element(matrix, i, 0)))&&
+         (value_notzero_p(cloog_matrix_element(matrix, i, level))))
+    { line = i ;
+      
+      /* Since in once-time-loops, equalities derive from inequalities, we
+       * may have to offset the values. For instance if we have 2i>=3, the
+       * equality is in fact i=2. This may happen when the level coefficient is
+       * not 1 or -1 and the scalar value is not zero. In any other case (e.g.,
+       * if the inequality is an expression including outer loop counters or
+       * parameters) the once time loop would not have been detected
+       * because of floord and ceild functions.
+       */
+      if (value_ne_si(cloog_matrix_element(matrix, i, level),1) &&
+          value_ne_si(cloog_matrix_element(matrix, i, level),-1) &&
+         value_notzero_p(cloog_matrix_element(matrix, i, matrix->NbColumns-1)))
+      { value_init_c(numerator) ;
+        value_init_c(denominator) ;
+        value_init_c(division) ;
+        value_init_c(modulo) ;
+        
+       value_assign(denominator,cloog_matrix_element(matrix, i, level)) ;
+       value_absolute(denominator,denominator) ; 
+        value_assign(numerator,cloog_matrix_element(matrix, i, matrix->NbColumns-1)) ;   
+        value_modulus(modulo,numerator,denominator) ;
+        value_division(division,numerator,denominator) ;
+       
+       /* There are 4 scenarios:
+        *  di +n >= 0  -->  i + (n div d) >= 0
+        * -di +n >= 0  --> -i + (n div d) >= 0
+        *  di -n >= 0  -->  if (n%d == 0)  i + ((-n div d)+1) >= 0
+        *                   else           i +  (-n div d)    >= 0
+        * -di -n >= 0  -->  if (n%d == 0) -i + ((-n div d)-1) >= 0
+        *                   else          -i +  (-n div d)    >= 0
+        * In the following we distinct the scalar value setting and the
+        * level coefficient.
+        */
+       if (value_pos_p(numerator) || value_zero_p(modulo))
+         cloog_matrix_element_assign (matrix, i, matrix->NbColumns-1, division);
+       else
+         { if (value_pos_p(cloog_matrix_element(matrix, i, level)))
+             cloog_matrix_element_increment (matrix, i, matrix->NbColumns-1,division) ;
+         else
+           cloog_matrix_element_decrement (matrix, i, matrix->NbColumns-1,division) ;
+       }
+        
+       if (value_pos_p(cloog_matrix_element(matrix, i, level)))
+         cloog_matrix_element_set_si(matrix, i, level, 1) ;
+       else
+         cloog_matrix_element_set_si(matrix, i, level, -1) ;
+       
+       value_clear_c(numerator) ;
+        value_clear_c(denominator) ;
+        value_clear_c(division) ;
+        value_clear_c(modulo) ;
+      }
+            
+      break ;
+    }
+  }
+  
+  /* We update the line of equal corresponding to level:
+   * - the first element gives the equality type,
+   */
+  cloog_matrix_element_set_si(equal, level-1, 0, clast_equal_type(matrix,level,line)) ;
+  /* - the other elements corresponding to the equality itself
+   *   (the iterators up to level, then the parameters and the scalar).
+   */
+  for (i=1;i<=level;i++)
+    cloog_matrix_element_assign(equal, level-1, i, cloog_matrix_element(matrix, line, i)) ;
+  for (i=0;i<cloog_names_nb_parameters (infos->names)+1;i++)
+    cloog_matrix_element_assign(equal, level-1, equal->NbColumns-i-1,
+                               cloog_matrix_element(matrix, line, matrix->NbColumns-i-1)) ;
+  
+  cloog_matrix_equality_update(equal,level,cloog_names_nb_parameters (infos->names)) ;
+  
+  return (clast_equal_allow(equal,level,level-1,infos)) ;
+}
+  
+
+/**
+ * clast_equal_del function :
+ * This function reset the equality corresponding to the iterator (level)
+ * in the equality matrix (equal).
+ * - July 2nd 2002: first version. 
+ */
+static void clast_equal_del(CloogMatrix * equal, int level)
+{ 
+  int i ;
+  
+  for (i=0;i<equal->NbColumns;i++)
+    cloog_matrix_element_set_si(equal, level-1, i, 0) ;
+}
+
+
+/**
+ * clast_bound_from_constraint function:
+ * This function returns a clast_expr containing the printing of the
+ * 'right part' of a constraint according to an element.
+ * For instance, for the constraint -3*i + 2*j - M >=0 and the element j,
+ * we have j >= (3*i + M)/2. As we are looking for integral solutions, this
+ * function should return 'ceild(3*i+M,2)'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - line_num is the line number in domain of the constraint we want to print,
+ * - level is the column number in domain of the element we want to use,
+ * - names structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 2nd 2001: first version. 
+ * - June    27th 2003: 64 bits version ready.
+ */
+static struct clast_expr *clast_bound_from_constraint(CloogMatrix *matrix,
+                                                     int line_num, int level,
+                                                     CloogNames *names)
+{ 
+  int i, nb_iter, sign, nb_elts=0 ;
+  char * name;
+  Value numerator, denominator, temp, division ;
+  struct clast_expr *e = NULL;
+
+  value_init_c(temp) ;
+  value_init_c(numerator) ;
+  value_init_c(denominator) ;
+
+  if (value_notzero_p(cloog_matrix_element(matrix, line_num, level))) {
+    struct clast_reduction *r;
+    /* Maybe we need to invert signs in such a way that the element sign is>0.*/
+    sign = value_pos_p(cloog_matrix_element(matrix, line_num, level)) ? -1 : 1 ;
+
+    for (i = 1, nb_elts = 0; i <= matrix->NbColumns - 1; ++i)
+      if (i != level && value_notzero_p(cloog_matrix_element(matrix, line_num, i)))
+           nb_elts++;
+    r = new_clast_reduction(clast_red_sum, nb_elts);
+    nb_elts = 0;
+
+    /* First, we have to print the iterators. */
+    nb_iter = matrix->NbColumns - 2 - cloog_names_nb_parameters (names);
+    for (i=1;i<=nb_iter;i++)
+      if ((i != level) && value_notzero_p(cloog_matrix_element(matrix, line_num, i))) {
+       if (i <= cloog_names_nb_scattering (names))
+        name = cloog_names_scattering_elt (names, i - 1);
+      else
+        name = cloog_names_iterator_elt (names, i - cloog_names_nb_scattering (names) - 1);
+      
+      if (sign == -1)
+       value_oppose(temp,cloog_matrix_element(matrix, line_num, i)) ;
+      else
+       value_assign(temp,cloog_matrix_element(matrix, line_num, i)) ;
+      
+      r->elts[nb_elts++] = &new_clast_term(temp, name)->expr;
+    }    
+
+    /* Next, the parameters. */
+    for (i=nb_iter+1;i<=matrix->NbColumns-2;i++)
+      if ((i != level) && value_notzero_p(cloog_matrix_element(matrix, line_num, i))) {
+       name = cloog_names_parameter_elt (names, i - nb_iter - 1);
+      
+      if (sign == -1)
+       value_oppose(temp,cloog_matrix_element(matrix, line_num, i)) ;
+      else
+       value_assign(temp,cloog_matrix_element(matrix, line_num, i)) ;
+      
+      r->elts[nb_elts++] = &new_clast_term(temp, name)->expr;
+    }    
+
+    if (sign == -1)
+      {
+       value_oppose(numerator,cloog_matrix_element(matrix, line_num, matrix->NbColumns - 1)) ;
+       value_assign(denominator,cloog_matrix_element(matrix, line_num, level)) ;
+      }
+    else
+      {
+       value_assign(numerator,cloog_matrix_element(matrix, line_num, matrix->NbColumns - 1)) ;
+       value_oppose(denominator,cloog_matrix_element(matrix, line_num, level)) ;
+      }
+        
+    /* Finally, the constant, and the final printing. */
+    if (nb_elts) {
+      if (value_notzero_p(numerator))
+         r->elts[nb_elts++] = &new_clast_term(numerator, NULL)->expr;
+    
+      if (value_notone_p(cloog_matrix_element(matrix, line_num, level)) 
+         && value_notmone_p(cloog_matrix_element(matrix, line_num, level)))
+       { if (value_one_p(cloog_matrix_element(matrix, line_num, 0)))
+           { if (value_pos_p(cloog_matrix_element(matrix, line_num, level)))
+           e = &new_clast_binary(clast_bin_cdiv, &r->expr, denominator)->expr;
+          else
+           e = &new_clast_binary(clast_bin_fdiv, &r->expr, denominator)->expr;
+        } else
+           e = &new_clast_binary(clast_bin_div, &r->expr, denominator)->expr;
+      }
+      else
+       e = &r->expr;
+    } else { 
+      free_clast_reduction(r);
+      if (value_zero_p(numerator))
+       e = &new_clast_term(numerator, NULL)->expr;
+      else
+      { if (value_notone_p(denominator))
+         { if (value_one_p(cloog_matrix_element(matrix, line_num, 0))) /* useful? */
+          { value_modulus(temp,numerator,denominator) ;
+            if (value_zero_p(temp))
+            { value_division(temp,numerator,denominator) ;
+             e = &new_clast_term(temp, NULL)->expr;
+            }
+            else
+            { value_init_c(division) ;
+             value_division(division,numerator,denominator) ;
+             if (value_neg_p(numerator)) {
+                if (value_pos_p(cloog_matrix_element(matrix, line_num, level))) {
+                   /* nb<0 need max */
+                   e = &new_clast_term(division, NULL)->expr;
+               } else {
+                  /* nb<0 need min */
+                  value_decrement(temp,division) ;
+                 e = &new_clast_term(temp, NULL)->expr;
+                }
+             }
+              else
+               { if (value_pos_p(cloog_matrix_element(matrix, line_num, level)))
+               { /* nb>0 need max */
+                  value_increment(temp,division) ;
+                 e = &new_clast_term(temp, NULL)->expr;
+                }
+               else
+                   /* nb>0 need min */
+                   e = &new_clast_term(division, NULL)->expr;
+              }
+             value_clear_c(division) ;
+            }
+          }
+          else
+           e = &new_clast_binary(clast_bin_div, 
+                                 &new_clast_term(numerator, NULL)->expr,
+                                 denominator)->expr;
+        }
+        else
+           e = &new_clast_term(numerator, NULL)->expr;
+      }
+    }
+  }
+
+  value_clear_c(temp) ;
+  value_clear_c(numerator) ;
+  value_clear_c(denominator) ;
+    
+  return e;
+}
+
+
+/**
+ * clast_equal function:
+ * This function returns the content an equality matrix (equal) into a clast_stmt.
+ * - the infos structure gives the user all options on code printing and more. 
+ **
+ * - July   2nd 2002: first version. 
+ * - March 16th 2003: return now a string instead of printing directly and do
+ *                    not write 'Sx()' if there is no spreading, but only 'Sx'. 
+ */
+static struct clast_stmt * clast_equal(CloogInfos *infos)
+{ 
+  int i, iterator ;
+  Value type ;
+  struct clast_expr *e;
+  struct clast_stmt *a = NULL;
+  struct clast_stmt **next = &a;
+  CloogMatrix *equal = infos->equal;
+
+  value_init_c(type) ;
+  
+  /* It is not necessary to print here the scattering iterators since they
+   * never appear in the statement bodies.
+   */
+  for (i = cloog_names_nb_scattering (infos->names); i < equal->NbRows; i++)
+  { if (value_notzero_p(cloog_matrix_element(equal, i, 0))&&clast_equal_allow(equal,i+1,i,infos)) {
+      iterator = i - cloog_names_nb_scattering (infos->names) ;
+    
+      /* pprint_line needs to know that the current line is an equality, so
+       * we temporary remove the equality type and set it to zero (the equality
+       * tag in PolyLib.
+       */
+      value_assign(type,cloog_matrix_element(equal, i, 0)) ;
+      cloog_matrix_element_set_si(equal, i, 0, 0) ;
+      e = clast_bound_from_constraint(equal, i, i+1, infos->names);
+      cloog_matrix_element_assign(equal, i, 0, type) ;
+      *next = &new_clast_assignment(cloog_names_iterators (infos->names)[iterator], e)->stmt;
+      next = &(*next)->next;
+    }
+  }
+  value_clear_c(type) ;
+
+  return a;
+}
+
+
+/**
+ * clast_equal_cpp function:
+ * This function prints the substitution data of a statement into a clast_stmt.
+ * Using this function instead of pprint_equal is useful for generating
+ * a compilable pseudo-code by using preprocessor macro for each statement.
+ * By opposition to pprint_equal, the result is less human-readable. For
+ * instance this function will print (i,i+3,k,3) where pprint_equal would
+ * return (j=i+3,l=3).
+ * - level is the number of loops enclosing the statement,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - March    12th 2004: first version. 
+ * - November 21th 2005: (debug) now works well with GMP version. 
+ */
+static struct clast_stmt * clast_equal_cpp(int level, CloogInfos *infos)
+{ 
+  int i ;
+  Value type ;
+  struct clast_expr *e;
+  struct clast_stmt *a = NULL;
+  struct clast_stmt **next = &a;
+  CloogMatrix *equal = infos->equal;
+
+  value_init_c(type) ;
+  
+  for (i=cloog_names_nb_scattering (infos->names);i<level-1;i++)
+    { if (value_notzero_p(cloog_matrix_element(equal, i, 0)))
+    { /* pprint_line needs to know that the current line is an equality, so
+       * we temporary remove the equality type and set it to zero (the equality
+       * tag in PolyLib.
+       */
+      value_assign(type,cloog_matrix_element(equal, i, 0)) ;
+      cloog_matrix_element_set_si(equal, i, 0, 0) ;
+      e = clast_bound_from_constraint(equal, i, i+1, infos->names);
+      cloog_matrix_element_assign(equal, i, 0, type) ;
+    } else {
+      value_set_si(type, 1);
+      e = &new_clast_term
+       (type, cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names)))->expr;
+    }
+    *next = &new_clast_assignment(NULL, e)->stmt;
+    next = &(*next)->next;
+  }
+  value_clear_c(type) ;
+
+  return a;
+}
+
+
+/**
+ * clast_minmax function:
+ * This function returns a clast_expr containing the printing of a minimum or a
+ * maximum of the 'right parts' of all constraints according to an element.
+ * For instance consider the constraints:
+ * -3*i  +2*j   -M >= 0
+ *  2*i    +j      >= 0
+ *   -i    -j +2*M >= 0
+ * if we are looking for the minimum for the element j, the function should
+ * return 'max(ceild(3*i+M,2),-2*i)'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number in domain of the element we want to use,
+ * - max is a boolean set to 1 if we are looking for a maximum, 0 for a minimum,
+ * - guard is set to 0 if there is no guard, and set to the level of the element
+ *   with a guard otherwise (then the function gives the max or the min only
+ *   for the constraint where the guarded coefficient is 0), 
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 2nd 2001: first version. 
+ */
+static struct clast_expr *clast_minmax(CloogMatrix *matrix,
+                                      int level, int max, int guard,
+                                      CloogInfos *infos)
+{ int i, n;
+  struct clast_reduction *r;
+  
+  for (i=0, n=0;i<matrix->NbRows;i++)
+    if (((max && value_pos_p(cloog_matrix_element(matrix, i, level))) ||
+        (!max && value_neg_p(cloog_matrix_element(matrix, i, level)))) &&
+       (!guard || value_zero_p(cloog_matrix_element(matrix, i, guard))) &&
+       (value_notzero_p(cloog_matrix_element(matrix, i, 0))))
+      n++;
+  if (!n)
+    return NULL;
+  r = new_clast_reduction(max ? clast_red_max : clast_red_min, n);
+
+  for (i=0, n=0;i<matrix->NbRows;i++)
+    if (((max && value_pos_p(cloog_matrix_element(matrix, i, level))) ||
+        (!max && value_neg_p(cloog_matrix_element(matrix, i, level)))) &&
+       (!guard || value_zero_p(cloog_matrix_element(matrix, i, guard))) &&
+       (value_notzero_p(cloog_matrix_element(matrix, i, 0))))
+      r->elts[n++] = clast_bound_from_constraint(matrix,i,level,infos->names);
+
+  return &r->expr;
+}
+
+
+/**
+ * insert_guard function:
+ * This function inserts a guard in the clast.
+ * A guard on an element (level) is :
+ * -> the conjunction of all the existing constraints where the coefficient of
+ *    this element is 0 if the element is an iterator,
+ * -> the conjunction of all the existing constraints if the element isn't an
+ *    iterator.
+ * For instance, considering these constraints and the element j:
+ * -3*i +2*j -M >= 0
+ *  2*i      +M >= 0
+ * this function should return 'if (2*i+M>=0) {'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November  3rd 2001: first version. 
+ * - November 14th 2001: a lot of 'purifications'. 
+ * - July     31th 2002: (debug) some guard parts are no more redundants. 
+ * - August   12th 2002: polyhedra union ('or' conditions) are now supported.
+ * - October  27th 2005: polyhedra union ('or' conditions) are no more supported
+ *                       (the need came from loop_simplify that may result in
+ *                       domain unions, now it should be fixed directly in
+ *                       cloog_loop_simplify).
+ */
+static void insert_guard(CloogMatrix *matrix, int level,
+                        struct clast_stmt ***next, CloogInfos *infos)
+{ 
+  int i, j, k, l, guarded, minmax=-1, nb_and = 0, nb_iter ;
+  char * name;
+  CloogMatrix * copy ;
+  struct clast_guard *g;
+  Value one;
+
+  if (matrix == NULL)
+    return;
+
+  value_init(one);
+  value_set_si(one, 1);
+  
+    g = new_clast_guard(2 * (matrix->NbColumns-2));
+
+    /* Well, it looks complicated because I wanted to have a particular, more
+     * readable, ordering, obviously this function may be far much simpler !
+     */
+    copy = cloog_matrix_copy(matrix) ;
+    
+    nb_iter = copy->NbColumns - 2 - cloog_names_nb_parameters (infos->names) ;
+    nb_and = 0 ;
+    /* We search for guard parts. */
+    for (i=1;i<=copy->NbColumns-2;i++)
+    for (j=0;j<copy->NbRows;j++)
+      if (value_notzero_p(cloog_matrix_element(copy, j, i)) &&
+         (value_zero_p(cloog_matrix_element(copy, j, level)) || (nb_iter < level))) {
+      struct clast_term *t;
+      if (i <= nb_iter)
+       { if (i <= cloog_names_nb_scattering (infos->names))
+         name = cloog_names_scattering_elt (infos->names, i - 1);
+        else
+         name = cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names) - 1);
+      }
+      else
+       name = cloog_names_parameter_elt (infos->names, i - nb_iter - 1);
+      
+      g->eq[nb_and].LHS = &(t = new_clast_term(one, name))->expr;
+      if (value_zero_p(cloog_matrix_element(copy, j, 0))) {
+       /* put the "denominator" in the LHS */
+       value_assign(t->val, cloog_matrix_element(copy, j, i));
+       cloog_matrix_element_set_si(copy, j, i, 1);
+       g->eq[nb_and].sign = 0;
+        g->eq[nb_and].RHS = clast_bound_from_constraint(copy,j,i,infos->names);
+       cloog_matrix_element_assign(copy, j, i, t->val);
+      } else {
+        if (value_pos_p(cloog_matrix_element(copy, j, i))) {
+           minmax = 1;
+           g->eq[nb_and].sign = 1;
+        } else {
+           minmax = 0;
+           g->eq[nb_and].sign = -1;
+       }
+      
+        guarded = (nb_iter >= level) ? level : 0 ;
+        g->eq[nb_and].RHS = clast_minmax(copy,i,minmax,guarded,infos) ;
+      }
+      nb_and ++ ;
+
+      /* 'elimination' of the current constraint, this avoid to use one
+       * constraint more than once. The current line is always eliminated,
+       * and the next lines if they are in a min or a max.
+       */
+      for (k=i;k<=copy->NbColumns-2;k++)
+       cloog_matrix_element_set_si(copy, j, k, 0) ;
+    
+      if (minmax != -1)
+      for (l=j+1;l<copy->NbRows;l++)
+       if (((minmax == 1) && value_pos_p(cloog_matrix_element(copy, l, i))) ||
+           ((minmax == 0) && value_neg_p(cloog_matrix_element(copy, l, i))))
+      for (k=i;k<=copy->NbColumns-2;k++)
+       cloog_matrix_element_set_si(copy, l, k, 0) ;
+    }
+    cloog_matrix_free(copy) ;
+  
+  g->n = nb_and;
+  if (nb_and) {
+    **next = &g->stmt;
+    *next = &g->then;
+  } else
+    free_clast_stmt(&g->stmt);
+  
+  value_clear(one);
+  return;
+}
+
+
+/* Computes x, y and g such that g = gcd(a,b) and a*x+b*y = g */
+static void Euclid(Value a, Value b, Value *x, Value *y, Value *g)
+{
+    Value c, d, e, f, tmp;
+
+    value_init(c);
+    value_init(d);
+    value_init(e);
+    value_init(f);
+    value_init(tmp);
+    value_absolute(c, a);
+    value_absolute(d, b);
+    value_set_si(e, 1);
+    value_set_si(f, 0);
+    while(value_pos_p(d)) {
+       value_division(tmp, c, d);
+       value_multiply(tmp, tmp, f);
+       value_subtract(e, e, tmp);
+       value_division(tmp, c, d);
+       value_multiply(tmp, tmp, d);
+       value_subtract(c, c, tmp);
+       value_swap(c, d);
+       value_swap(e, f);
+    }
+    value_assign(*g, c);
+    if (value_zero_p(a))
+       value_set_si(*x, 0);
+    else if (value_pos_p(a))
+       value_assign(*x, e);
+    else value_oppose(*x, e);
+    if (value_zero_p(b))
+       value_set_si(*y, 0);
+    else {
+       value_multiply(tmp, a, *x);
+       value_subtract(tmp, c, tmp);
+       value_division(*y, tmp, b);
+    }
+    value_clear(c);
+    value_clear(d);
+    value_clear(e);
+    value_clear(f);
+    value_clear(tmp);
+}
+
+/**
+ * insert_modulo_guard:
+ * This function inserts a modulo guard corresponding to an equality.
+ * See insert_equality.
+ * - matrix is the polyhedron containing all the constraints,
+ * - num is the line number of the constraint in matrix we want to print,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ */
+static void insert_modulo_guard(CloogMatrix *matrix, int num, int level,
+                               struct clast_stmt ***next, CloogInfos *infos)
+{
+  int i, j, k, nb_elts = 0, len, nb_iter, in_stride = 0, nb_par;
+  Vector *line_vector;
+  Value *line, val, x, y, g;
+
+  if (value_one_p(cloog_matrix_element(matrix, num, level)) || value_mone_p(cloog_matrix_element(matrix, num, level)))
+    return;
+
+  value_init_c(val);
+  value_init_c(x);
+  value_init_c(y);
+  value_init_c(g);
+
+  len = matrix->NbColumns;
+  nb_par = cloog_names_nb_parameters (infos->names);
+  nb_iter = matrix->NbColumns - 2 - nb_par;
+
+  line_vector = Vector_Alloc(len);
+  line = line_vector->p;
+  if (value_neg_p(cloog_matrix_element(matrix, num, level)))
+    Vector_Copy(matrix->p[num]+1, line+1, len-1);
+  else {
+    value_set_si(val, -1);
+    Vector_Scale(matrix->p[num]+1, line+1, val, len-1);
+  }
+  value_oppose(line[level], line[level]);
+  assert(value_pos_p(line[level]));
+
+  nb_elts = 0;
+  for (i = nb_iter; i >= 1; --i) {
+    if (i == level)
+      continue;
+    value_pmodulus(line[i],line[i],line[level]);
+    if (value_zero_p(line[i]))
+      continue;
+
+    /* Look for an earlier variable that is also a multiple of line[level]
+     * and check whether we can use the corresponding affine expression
+     * to "reduce" the modulo guard, where reduction means that we eliminate
+     * a variable, possibly at the expense of introducing other variables
+     * with smaller index.
+     */
+    for (j = level-1; j >= 0; --j) {
+      if (value_cmp_si(cloog_matrix_element(infos->equal, j, 0), EQTYPE_EXAFFINE) != 0)
+       continue;
+      value_modulus(val, cloog_matrix_element(infos->equal, j, 1+j), line[level]);
+      if (value_notzero_p(val))
+       continue;
+      value_modulus(val, cloog_matrix_element(infos->equal, j, i), line[level]);
+      if (value_zero_p(val))
+       continue;
+      for (k = j; k > i; --k) {
+       if (value_zero_p(cloog_matrix_element(infos->equal, j, k)))
+         continue;
+       value_modulus(val, cloog_matrix_element(infos->equal, j, k), line[level]);
+       if (value_notzero_p(val))
+         break;
+      }
+      if (k > i)
+        continue;
+      Euclid(cloog_matrix_element(infos->equal, j, i), line[level], &x, &y, &g);
+      value_modulus(val, line[i], g);
+      if (value_notzero_p(val))
+       continue;
+      value_division(val, line[i], g);
+      value_oppose(val, val);
+      value_multiply(val, val, x);
+      value_set_si(y, 1);
+      /* Add (infos->equal->p[j][i])^{-1} * line[i] times the equality */
+      Vector_Combine(line+1, infos->equal->p[j]+1, line+1, y, val, i);
+      Vector_Combine(line+len-nb_par-1,
+                    infos->equal->p[j]+infos->equal->NbColumns-nb_par-1,
+                    line+len-nb_par-1, y, val, nb_par+1);
+      break;
+    }
+    if (j >= 0) {
+      value_pmodulus(line[i],line[i],line[level]);
+      assert(value_zero_p(line[i]));
+      continue;
+    }
+
+    value_modulus(val,infos->stride[i-1],line[level]);
+    /* We need to know if an element of the equality has not to be printed
+     * because of a stride that guarantees that this element can be divided by
+     * the current coefficient. Because when there is a constant element, it
+     * is included in the stride calculation (more exactly in the strided
+     * iterator new lower bound: the 'offset') and we have not to print it.
+     */
+    if (value_zero_p(val)) {
+      in_stride = 1;
+      continue;
+    }
+
+    nb_elts++;
+  }
+  for (i = nb_iter+1; i <= len-1; ++i) {
+    value_pmodulus(line[i],line[i],line[level]);
+    if (value_zero_p(line[i]))
+      continue;
+    if (i <= len-2)
+      nb_elts++;
+  }
+
+  if (nb_elts || (value_notzero_p(line[len-1]) && (!in_stride))) {
+    struct clast_reduction *r;
+    struct clast_expr *e;
+    struct clast_guard *g;
+    char * name;
+
+    r = new_clast_reduction(clast_red_sum, nb_elts+1);
+    nb_elts = 0;
+
+    /* First, the modulo guard : the iterators... */
+    for (i=1;i<=nb_iter;i++) {
+      if (i == level || value_zero_p(line[i]))
+       continue;
+      value_modulus(val,infos->stride[i-1],line[level]);
+      if (value_zero_p(val))
+       continue;
+
+      if (i <= cloog_names_nb_scattering (infos->names))
+       name = cloog_names_scattering_elt (infos->names, i - 1);
+      else
+       name = cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names) - 1);
+
+      r->elts[nb_elts++] = &new_clast_term(line[i], name)->expr;
+    }
+
+    /* ...the parameters... */
+    for (i=nb_iter+1;i<=len-2;i++) {
+      if (value_zero_p(line[i]))
+       continue;
+
+      name = cloog_names_parameter_elt (infos->names, i - nb_iter - 1);
+      r->elts[nb_elts++] = &new_clast_term(line[i], name)->expr;
+    }
+
+    /* ...the constant. */
+    if (value_notzero_p(line[len-1]))
+      r->elts[nb_elts++] = &new_clast_term(line[len-1], NULL)->expr;
+
+    /* our initial computation may have been an overestimate */
+    r->n = nb_elts;
+
+    e = &new_clast_binary(clast_bin_mod, &r->expr, line[level])->expr;
+    g = new_clast_guard(1);
+    g->eq[0].LHS = e;
+    value_set_si(val, 0);
+    g->eq[0].RHS = &new_clast_term(val, NULL)->expr;
+    g->eq[0].sign = 0;
+
+    **next = &g->stmt;
+    *next = &g->then;
+  }
+
+  Vector_Free(line_vector);
+
+  value_clear_c(val);
+  value_clear_c(x);
+  value_clear_c(y);
+  value_clear_c(g);
+}
+
+
+/**
+ * insert_equality function:
+ * This function inserts an equality 
+ * constraint according to an element in the clast.
+ * An equality can be preceded by a 'modulo guard'.
+ * For instance, consider the constraint i -2*j = 0 and the
+ * element j: pprint_equality should return 'if(i%2==0) { j = i/2 ;'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - num is the line number of the constraint in matrix we want to print,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 13th 2001: first version.
+ * - June 26th 2003: simplification of the modulo guards (remove parts such as
+ *                   modulo is 0, compare vivien or vivien2 with a previous
+ *                   version for an idea).
+ * - June 29th 2003: non-unit strides support.
+ * - July 14th 2003: (debug) no more print the constant in the modulo guard when
+ *                   it was previously included in a stride calculation.
+ */
+static void insert_equality(CloogMatrix *matrix, int num,
+                           int level, struct clast_stmt ***next, CloogInfos *infos)
+{
+  struct clast_expr *e;
+  struct clast_assignment *ass;
+
+  insert_modulo_guard(matrix, num, level, next, infos);
+
+  if (!clast_equal_add(infos->equal,matrix,level,num,infos))
+  { /* Finally, the equality. */
+               
+    /* If we have to make a block by dimension, we start the block. Function
+     * pprint knows if there is an equality, if this is the case, it checks
+     * for the same following condition to close the brace.
+     */
+    if (infos->options->block) {
+      struct clast_block *b = new_clast_block();
+      **next = &b->stmt;
+      *next = &b->body;
+    }
+               
+    e = clast_bound_from_constraint(matrix,num,level,infos->names);
+    if (level <= cloog_names_nb_scattering (infos->names))
+      ass = new_clast_assignment(cloog_names_scattering_elt (infos->names, level - 1), e);
+    else
+       ass = new_clast_assignment
+         (cloog_names_iterator_elt (infos->names, level - cloog_names_nb_scattering (infos->names) - 1), e);
+
+    **next = &ass->stmt;
+    *next = &(**next)->next;
+  }
+
+  return;
+}
+
+
+/**
+ * insert_for function:
+ * This function inserts a for loop in the clast.
+ * A loop header according to an element is the conjonction of a minimum and a
+ * maximum on the element (they give the loop bounds).
+ * For instance, considering these constraints and the element j:
+ * i + j -9*M >= 0
+ *    -j +5*M >= 0
+ *     j -4*M >= 0
+ * this function should return 'for (j=max(-i+9*M,4*M),j<=5*M;j++) {'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - July 2nd 2002: first version (pick from pprint function). 
+ * - March 6th 2003: infinite domain support. 
+ * - June 29th 2003: non-unit strides support.
+ */
+static void insert_for(CloogMatrix *matrix, int level,
+                      struct clast_stmt ***next, CloogInfos *infos)
+{
+  char * iterator ;
+  struct clast_expr *e1;
+  struct clast_expr *e2;
+  struct clast_assignment *ass;
+  
+  if (level <= cloog_names_nb_scattering (infos->names))
+    iterator = cloog_names_scattering_elt (infos->names, level - 1);
+  else
+    iterator = cloog_names_iterator_elt 
+      (infos->names, level - cloog_names_nb_scattering (infos->names) - 1);
+  
+  e1 = clast_minmax(matrix,level,1,0,infos) ;
+  e2 = clast_minmax(matrix,level,0,0,infos) ;
+
+  /* If min and max are not equal there is a 'for' else, there is a '='.
+   * In the special case e1 = e2 = NULL, this is an infinite loop
+   * so this is not a '='.
+   */
+  if (!clast_expr_equal(e1, e2) || !infos->options->otl || (!e1 && !e2)) {
+    struct clast_for *f = new_clast_for(iterator, e1, e2, infos->stride[level-1]);
+    **next = &f->stmt;
+    *next = &f->body;
+  }
+  else if (!clast_equal_add(infos->equal,matrix,level,ONE_TIME_LOOP,infos)) {
+    if (infos->options->block) {
+       struct clast_block *b = new_clast_block();
+       **next = &b->stmt;
+       *next = &b->body;
+    }
+    ass = new_clast_assignment(iterator, e1);
+    **next = &ass->stmt;
+    *next = &(**next)->next;
+  }
+
+  return;    
+}
+
+
+/**
+ * insert_scalar function:
+ * This function inserts assignments to the scalar values
+ * that follows the level (level). It finds by scanning (loop) by inner level,
+ * the first CloogBlock data structure (at this step, all blocks has the same
+ * scalar vector information after (level)), and prints all the adjacent
+ * scalar values following (level), if it is required by options in (info).
+ * - loop is the loop structure to begin the search for a block,
+ * - level is the current loop level,
+ * - scalar points to the number of scalar values already visited,
+ * - the infos structure gives the user options about code printing and more.
+ **
+ * - September 12th 2005: first version.
+ */
+static void insert_scalar(CloogLoop *loop, int level, int *scalar,
+                         struct clast_stmt ***next, CloogInfos *infos)
+{ 
+  struct clast_block *b;
+  struct clast_term *t;
+  
+  if ((!infos->options->csp) &&
+      (level+(*scalar) <= infos->nb_scattdims) &&
+      (infos->scaldims[level+(*scalar)-1]))
+    {
+      while (cloog_loop_block (loop) == NULL)
+       loop = cloog_loop_inner (loop) ;
+
+      while ((level+(*scalar) <= infos->nb_scattdims) &&
+            (infos->scaldims[level+(*scalar)-1])) { 
+       if (infos->options->block) {
+         b = new_clast_block();
+         **next = &b->stmt;
+         *next = &b->body;
+       }
+      
+       t = new_clast_term (cloog_loop_block (loop)->scaldims[*scalar], NULL);
+       **next = &new_clast_assignment(cloog_names_scalar_elt (infos->names, *scalar),
+                                      &t->expr)->stmt;
+       *next = &(**next)->next;
+       (*scalar) ++ ;
+      
+      }
+    }
+  
+  return;
+}
+
+
+/**
+ * insert_block function:
+ * This function inserts a statement block.
+ * - block is the statement block,
+ * - level is the number of loops enclosing the statement,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - September 21th 2003: first version (pick from pprint function). 
+ */
+static void insert_block(CloogBlock *block, int level,
+                        struct clast_stmt ***next, CloogInfos *infos)
+{
+    CloogStatement * statement ;
+    struct clast_stmt *subs;
+   
+    if (!block)
+       return;
+
+    for (statement = cloog_block_stmt (block); statement;
+        statement = cloog_statement_next (statement)) {
+      if (infos->options->cpp == 0)
+       subs = clast_equal(infos);
+      else
+       subs = clast_equal_cpp(level,infos);
+
+      **next = &new_clast_user_stmt(statement, subs)->stmt;
+      *next = &(**next)->next;
+    }
+}
+
+static CloogMatrix *
+cloog_simplify_domain_matrix_with_equalities (CloogDomain *domain, int level,
+                                             CloogMatrix *equal, int nb_parameters)
+{
+  CloogMatrix *temp, *res;
+
+  /* FIXME: the access to ->_polyhedron is a hack to avoid exporting
+     the CloogMatrix in a .h file: the whole clast.c file should be
+     rewritten specifically to Polylib and PPL.  */
+  temp = cloog_matrix_matrix(Polyhedron2Constraints(domain->_polyhedron));
+  cloog_matrix_normalize (temp, level);
+  res = cloog_matrix_simplify (temp, equal, level, nb_parameters);
+  cloog_matrix_free(temp);
+
+  return res;
+}
+
+
+/**
+ * insert_loop function:
+ * This function concerts the content of a CloogLoop structure (loop) into a
+ * clast_stmt (inserted at **next).
+ * The iterator (level) of
+ * the current loop is given by 'level': this is the column number of the
+ * domain corresponding to the current loop iterator. The data of a loop are
+ * written in this order:
+ * 1. The guard of the loop, i.e. each constraint in the domain that do not
+ *    depend on the iterator (when the entry in the column 'level' is 0).
+ * 2. The iteration domain of the iterator, given by the constraints in the
+ *    domain depending on the iterator, i.e.:
+ *    * an equality if the iterator has only one value (possibly preceded by
+ *      a guard verifying if this value is integral), *OR*
+ *    * a loop from the minimum possible value of the iterator to the maximum
+ *      possible value.
+ * 3. The included statement block.
+ * 4. The inner loops (recursive call).
+ * 5. The following loops (recursive call).
+ * - level is the recursion level or the iteration level that we are printing,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November   2nd 2001: first version. 
+ * - March      6th 2003: infinite domain support. 
+ * - April     19th 2003: (debug) NULL loop support. 
+ * - June      29th 2003: non-unit strides support.
+ * - April     28th 2005: (debug) level is level+equality when print statement!
+ * - June      16th 2005: (debug) the N. Vasilache normalization step has been
+ *                        added to avoid iteration duplication (see DaeGon Kim
+ *                        bug in cloog_program_generate). Try vasilache.cloog
+ *                        with and without the call to cloog_matrix_normalize,
+ *                        using -f 8 -l 9 options for an idea.
+ * - September 15th 2005: (debug) don't close equality braces when unnecessary.
+ * - October   16th 2005: (debug) scalar value is saved for next loops.
+ */
+static void insert_loop(CloogLoop * loop, int level, int scalar,
+                       struct clast_stmt ***next, CloogInfos *infos)
+{
+    int i, equality=0, scalar_level;
+    CloogMatrix * matrix;
+    struct clast_stmt **top = *next;
+
+    /* It can happen that loop be NULL when an input polyhedron is empty. */
+    if (loop == NULL)
+       return;
+
+    /* The matrix has not always a shape that allows us to generate code from it,
+    * thus we normalize it, we also simplify it with the matrix of equalities.
+    */ 
+    matrix = cloog_simplify_domain_matrix_with_equalities
+      (cloog_loop_domain (loop), level, infos->equal, cloog_names_nb_parameters (infos->names));
+    value_assign(infos->stride[level-1], cloog_loop_stride (loop));
+
+    /* First of all we have to print the guard. */
+    insert_guard(matrix,level, next, infos);
+
+    /* Then we print scalar dimensions. */ 
+    scalar_level = scalar ;
+    insert_scalar(loop,level,&scalar, next, infos);
+
+    if ((matrix->NbColumns - 2 - cloog_names_nb_parameters (infos->names) >= level)) {
+       /* We scan all the constraints to know in which case we are :
+        * [[if] equality] or [for].
+        */
+       for (i=0;i<matrix->NbRows;i++)
+         if (value_zero_p(cloog_matrix_element(matrix, i, 0)) &&
+             value_notzero_p(cloog_matrix_element(matrix, i, level)))
+       { /* If there is an equality, we can print it directly -no ambiguity-.
+          * PolyLib can give more than one equality, we use just the first one
+          * (this is a PolyLib problem, but all equalities are equivalent).
+          */
+         insert_equality(matrix,i,level, next, infos);
+         equality = 1 ;   
+         break ;
+       }
+      
+       if (!equality)
+           insert_for(matrix, level, next, infos);
+    }
+
+    /* Finally, if there is an included statement block, print it. */
+    insert_block(cloog_loop_block (loop), level+equality, next, infos);
+
+    /* Go to the next level. */
+    if (cloog_loop_inner (loop))
+      insert_loop(cloog_loop_inner (loop), level+1,scalar, next, infos);
+
+    clast_equal_del(infos->equal,level);
+    cloog_matrix_free(matrix);
+
+    /* Go to the next loop on the same level. */
+    while (*top)
+       top = &(*top)->next;
+    if (cloog_loop_next (loop))
+      insert_loop(cloog_loop_next (loop), level,scalar_level, &top,infos);
+}
+
+
+struct clast_stmt *cloog_clast_create(CloogProgram *program,
+                                     CloogOptions *options)
+{
+    CloogInfos *infos = ALLOC(CloogInfos);
+    int i, nb_levels;
+    struct clast_stmt *root = &new_clast_root(cloog_program_names (program))->stmt;
+    struct clast_stmt **next = &root->next;
+
+    infos->names    = cloog_program_names (program);
+    infos->options  = options;
+    infos->scaldims = cloog_program_scaldims (program);
+    infos->nb_scattdims = cloog_program_nb_scattdims (program);
+
+    /* Allocation for the array of strides, there is a +1 since the statement can
+    * be included inside an external loop without iteration domain.
+    */ 
+    nb_levels = cloog_names_nb_scattering (cloog_program_names (program)) 
+      + cloog_names_nb_iterators (cloog_program_names (program)) + 1;
+    infos->stride = ALLOCN(Value, nb_levels);
+    for (i = 0; i < nb_levels; ++i)
+       value_init_c(infos->stride[i]);
+
+    infos->equal = 
+      cloog_matrix_alloc (nb_levels, nb_levels + cloog_names_nb_parameters (cloog_program_names (program)) + 1);
+       
+    insert_loop (cloog_program_loop (program), 1, 0, &next, infos);
+
+    cloog_matrix_free(infos->equal);
+
+    for (i = 0; i < nb_levels; ++i)
+       value_clear_c(infos->stride[i]);
+    free(infos->stride);
+    free(infos);
+
+    return root;
+}
diff --git a/source/polylib/domain.c b/source/polylib/domain.c
new file mode 100644 (file)
index 0000000..a0ebe48
--- /dev/null
@@ -0,0 +1,1850 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             domain.c                              **
+    **-------------------------------------------------------------------**
+    **                   First version: october 28th 2001                **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <ctype.h>
+# include "../../include/cloog/cloog.h"
+#include "matrix.h"
+
+
+/**
+ * The maximal number of rays allowed to be allocated by PolyLib. In fact since
+ * version 5.20, PolyLib automatically tune the number of rays by multiplying
+ * by 2 this number each time the maximum is reached. For unknown reasons
+ * PolyLib makes a segmentation fault if this number is too small. If this
+ * number is too small, performances will be reduced, if it is too high, memory
+ * will be saturated. Note that the option "-rays X" set this number to X.
+ */
+int MAX_RAYS = 50 ;
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many Polyhedron structures had been allocated
+ * (cloog_domain_allocated) and how many had been freed (cloog_domain_freed).
+ * Each time a Polyhedron structure is allocated, a call to the function
+ * cloog_domain_leak_up() must be carried out, and respectively
+ * cloog_domain_leak_down() when a Polyhedron structure is freed. The special
+ * variable cloog_domain_max gives the maximal number of Polyhedron structures
+ * simultaneously alive (i.e. allocated and non-freed) in memory.
+ * - July 3rd->11th 2003: first version (memory leaks hunt and correction).
+ */
+
+
+int cloog_domain_allocated = 0 ;
+int cloog_domain_freed = 0 ;
+int cloog_domain_max = 0 ;
+
+
+static void cloog_domain_leak_up()
+{ cloog_domain_allocated ++ ;
+  if ((cloog_domain_allocated-cloog_domain_freed) > cloog_domain_max)
+  cloog_domain_max = cloog_domain_allocated - cloog_domain_freed ;
+}
+
+
+static void cloog_domain_leak_down()
+{ cloog_domain_freed ++ ;
+}
+
+
+/* The same for Value variables since in GMP mode they have to be freed. */
+int cloog_value_allocated = 0 ;
+int cloog_value_freed = 0 ;
+int cloog_value_max = 0 ;
+
+
+void cloog_value_leak_up()
+{ cloog_value_allocated ++ ;
+  if ((cloog_value_allocated-cloog_value_freed) > cloog_value_max)
+  cloog_value_max = cloog_value_allocated - cloog_value_freed ;
+}
+
+
+void cloog_value_leak_down()
+{ cloog_value_freed ++ ;
+}
+
+static inline Polyhedron * cloog_domain_polyhedron_set (CloogDomain *d,
+                                                       Polyhedron *p)
+{
+  return d->_polyhedron = p ;
+}
+
+static inline void cloog_domain_set_references (CloogDomain *d, int i)
+{
+  d->_references = i;
+}
+
+/**
+ * cloog_domain_malloc function:
+ * This function allocates the memory space for a CloogDomain structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+static CloogDomain * cloog_domain_malloc()
+{ CloogDomain * domain ;
+  
+  domain = (CloogDomain *)malloc(sizeof(CloogDomain)) ;
+  if (domain == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  cloog_domain_leak_up() ;
+  
+  /* We set the various fields with default values. */
+  cloog_domain_polyhedron_set (domain, NULL) ;
+  cloog_domain_set_references (domain, 1);
+  
+  return domain ;
+}
+
+
+/**
+ * cloog_domain_alloc function:
+ * This function allocates the memory space for a CloogDomain structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space.
+ * - April    19th 2005: first version.
+ * - November 21th 2005: cloog_domain_malloc use.
+ */
+static CloogDomain * cloog_domain_alloc(Polyhedron * polyhedron)
+{ CloogDomain * domain ;
+  
+  if (polyhedron == NULL)
+  return NULL ;
+  else
+  { domain = cloog_domain_malloc() ;
+    cloog_domain_polyhedron_set (domain, polyhedron) ;
+    
+    return domain ;
+  }
+}
+
+
+
+/******************************************************************************
+ *                              PolyLib interface                             *
+ ******************************************************************************/
+
+
+/* CLooG makes an intensive use of polyhedral operations and the PolyLib do
+ * the job. Here are the interfaces to all the PolyLib calls (CLooG uses 19
+ * PolyLib functions), with or without some adaptations. If another polyhedral
+ * library can be used, only these functions have to be changed.
+ * - April 16th 2005: Since PolyLib 5.20, compacting is no more useful and have
+ *                    been removed. The direct use of the PolyLib's Polyhedron
+ *                    data structure is also replaced with the CloogDomain data
+ *                    structure that includes the Polyhedron and an additional
+ *                    counter on how many pointers point on this structure.
+ *                    This allows to save memory (cloog_domain_copy now only
+ *                    increment the counter) while memory leaks are avoided (the
+ *                    function cloog_domain_free decrements the counter and
+ *                    actually frees the data structure only when its value
+ *                    is 0).
+ */
+
+
+/**
+ * cloog_domain_matrix2domain function:
+ * Given a matrix of constraints (matrix), this function constructs and returns
+ * the corresponding domain (i.e. the CloogDomain structure including the
+ * polyhedron with its double representation: constraint matrix and the set of
+ * rays).
+ */ 
+static CloogDomain * cloog_domain_matrix2domain(CloogMatrix * matrix)
+{ return (cloog_domain_alloc(Constraints2Polyhedron(matrix,MAX_RAYS))) ;
+}
+
+
+static inline Polyhedron * cloog_domain_polyhedron (CloogDomain * domain)
+{
+  return domain->_polyhedron ;
+}
+
+/**
+ * cloog_domain_domain2matrix function:
+ * Given a polyhedron (in domain), this function returns its corresponding
+ * matrix of constraints.
+ */
+static CloogMatrix * cloog_domain_domain2matrix(CloogDomain * domain)
+{
+  return cloog_matrix_matrix(Polyhedron2Constraints(cloog_domain_polyhedron (domain)));
+}
+
+static inline int cloog_domain_references (CloogDomain *d)
+{
+  return d->_references;
+}
+
+/**
+ * cloog_domain_print function:
+ * This function prints the content of a CloogDomain structure (domain) into
+ * a file (foo, possibly stdout).
+ */
+void cloog_domain_print(FILE * foo, CloogDomain * domain)
+{ Polyhedron_Print(foo,P_VALUE_FMT,cloog_domain_polyhedron (domain)) ;
+  fprintf (foo, "Number of active references: %d\n", cloog_domain_references (domain));
+}
+
+/**
+ * cloog_domain_free function:
+ * This function frees the allocated memory for a CloogDomain structure
+ * (domain). It decrements the number of active references to this structure,
+ * if there are no more references on the structure, it frees it (with the
+ * included list of polyhedra).
+ */
+void cloog_domain_free(CloogDomain * domain)
+{ if (domain != NULL)
+    {
+      cloog_domain_set_references (domain, cloog_domain_references (domain) - 1);
+    
+      if (cloog_domain_references (domain) == 0)
+       { 
+         if (cloog_domain_polyhedron (domain) != NULL)
+           {
+             cloog_domain_leak_down ();
+             Domain_Free(cloog_domain_polyhedron (domain)) ;
+           }
+
+         free(domain) ;
+       }
+    }
+}
+
+
+/**
+ * cloog_domain_copy function:
+ * This function returns a copy of a CloogDomain structure (domain). To save
+ * memory this is not a memory copy but we increment a counter of active
+ * references inside the structure, then return a pointer to that structure.
+ */ 
+CloogDomain * cloog_domain_copy(CloogDomain * domain)
+{ 
+  cloog_domain_set_references (domain, cloog_domain_references (domain) + 1);
+  return domain ;
+}
+
+
+/**
+ * cloog_domain_image function:
+ * This function returns a CloogDomain structure such that the included
+ * polyhedral domain is computed from the former one into another
+ * domain according to a given affine mapping function (mapping). 
+ */
+static CloogDomain * cloog_domain_image(CloogDomain * domain, CloogMatrix * mapping)
+{ return (cloog_domain_alloc(DomainImage(cloog_domain_polyhedron (domain),mapping,MAX_RAYS)));
+}
+
+
+/**
+ * cloog_domain_preimage function:
+ * Given a polyhedral domain (polyhedron) inside a CloogDomain structure and a
+ * mapping function (mapping), this function returns a new CloogDomain structure
+ * with a polyhedral domain which when transformed by mapping function (mapping)
+ * gives (polyhedron).
+ */
+static CloogDomain * cloog_domain_preimage(CloogDomain * domain, CloogMatrix * mapping)
+{ return (cloog_domain_alloc(DomainPreimage(cloog_domain_polyhedron (domain),
+                                            mapping,MAX_RAYS))) ;
+}
+
+
+/**
+ * cloog_domain_convex function:
+ * Given a polyhedral domain (polyhedron), this function concatenates the lists
+ * of rays and lines of the two (or more) polyhedra in the domain into one
+ * combined list, and  find the set of constraints which tightly bound all of
+ * those objects. It returns the corresponding polyhedron.
+ */ 
+CloogDomain * cloog_domain_convex(CloogDomain * domain)
+{ return (cloog_domain_alloc(DomainConvex(cloog_domain_polyhedron (domain),MAX_RAYS)));
+}
+
+static inline Polyhedron * cloog_polyhedron_next (Polyhedron *p)
+{ 
+  return p->next ;
+}
+
+static inline void cloog_polyhedron_set_next (Polyhedron *p, Polyhedron *n)
+{
+  p->next = n;
+}
+
+static inline Polyhedron * cloog_domain_polyhedron_next (CloogDomain * domain)
+{
+  return cloog_polyhedron_next (cloog_domain_polyhedron (domain));
+}
+
+static inline void cloog_domain_polyhedron_set_next (CloogDomain *d,
+                                                    Polyhedron *n)
+{
+  cloog_polyhedron_set_next (cloog_domain_polyhedron (d), n) ;
+}
+
+static inline unsigned cloog_polyhedron_nbc (Polyhedron *p)
+{
+  return p->NbConstraints;
+}
+
+static inline Value *cloog_polyhedron_c (Polyhedron *p, int i)
+{
+  return p->Constraint[i];
+}
+
+static inline Value cloog_polyhedron_cval (Polyhedron *p, int i, int j)
+{
+  return p->Constraint[i][j];
+}
+
+static inline void cloog_polyhedron_cval_set_si (Polyhedron *p, int i, int j, int k)
+{
+  value_set_si (p->Constraint[i][j], k);
+}
+
+static inline void cloog_polyhedron_cval_oppose (Polyhedron *p, int i, int j, int k)
+{
+  value_oppose (p->Constraint[i][j], k);
+}
+
+static inline void cloog_polyhedron_c_gcd (Polyhedron *p, int i, int j, int k, Value *gcd)
+{
+  Vector_Gcd(&(p->Constraint[i][1]), k, gcd);
+}
+
+static inline int cloog_domain_nbconstraints (CloogDomain * domain)
+{
+  return cloog_domain_polyhedron (domain)->NbConstraints ;
+}
+
+static inline unsigned cloog_polyhedron_nbeq (Polyhedron *p)
+{
+  return p->NbEq;
+}
+
+static inline unsigned cloog_domain_nbeq (CloogDomain *d)
+{
+  return cloog_polyhedron_nbeq (cloog_domain_polyhedron (d));
+}
+
+static inline unsigned cloog_polyhedron_dim (Polyhedron *p)
+{
+  return p->Dimension;
+}
+
+
+int cloog_domain_isconvex (CloogDomain *domain)
+{
+  return !cloog_domain_polyhedron_next (domain);
+}
+
+unsigned cloog_domain_dim (CloogDomain *d)
+{
+  return cloog_polyhedron_dim (cloog_domain_polyhedron (d));
+}
+
+
+/**
+ * cloog_domain_simplified_hull:
+ * Given a list (union) of polyhedra, this function returns a single
+ * polyhedron that contains this union and uses only contraints that
+ * appear in one or more of the polyhedra in the list.
+ * 
+ * We simply iterate over all constraints of all polyhedra and test
+ * whether all rays of the other polyhedra satisfy/saturate the constraint.
+ */
+static CloogDomain *cloog_domain_simplified_hull(CloogDomain * domain)
+{
+  int dim = cloog_domain_dim (domain);
+  int i, j, k, l;
+  int nb_pol = 0, nb_constraints = 0;
+  Polyhedron *P;
+  CloogMatrix **rays, *matrix;
+  Value tmp;
+  CloogDomain *bounds;
+
+  value_init(tmp);
+  for (P = cloog_domain_polyhedron (domain); P; P = cloog_polyhedron_next (P)) {
+    ++nb_pol;
+    nb_constraints += cloog_polyhedron_nbc (P);
+  }
+  matrix = cloog_matrix_alloc(nb_constraints, 1 + dim + 1);
+  nb_constraints = 0;
+  rays = (CloogMatrix **)malloc(nb_pol * sizeof(CloogMatrix*));
+  for (P = cloog_domain_polyhedron (domain), i = 0; P; P = cloog_polyhedron_next (P), ++i)
+    rays[i] = Polyhedron2Rays(P);
+
+  for (P = cloog_domain_polyhedron (domain), i = 0; P; P = cloog_polyhedron_next (P), ++i) {
+    CloogMatrix *constraints = Polyhedron2Constraints(P);
+    for (j = 0; j < constraints->NbRows; ++j) {
+      for (k = 0; k < nb_pol; ++k) {
+       if (i == k)
+         continue;
+       for (l = 0; l < rays[k]->NbRows; ++l) {
+         Inner_Product(constraints->p[j]+1, rays[k]->p[l]+1, dim+1, &tmp);
+         if (value_neg_p(tmp))
+           break;
+         if ((value_zero_p(cloog_matrix_element(constraints, j, 0)) || 
+              value_zero_p(cloog_matrix_element(rays[k], l, 0))) && value_pos_p(tmp))
+           break;
+       }
+       if (l < rays[k]->NbRows)
+         break;
+      }
+      if (k == nb_pol)
+       Vector_Copy(constraints->p[j], matrix->p[nb_constraints++], 1+dim+1);
+    }
+    Matrix_Free(constraints);
+  }
+
+  for (P = cloog_domain_polyhedron (domain), i = 0; P; P = cloog_polyhedron_next (P), ++i)
+    Matrix_Free(rays[i]);
+  free(rays);
+  value_clear(tmp);
+
+  matrix->NbRows = nb_constraints;
+  bounds = cloog_domain_matrix2domain(matrix);
+  cloog_matrix_free(matrix);
+
+  return bounds;
+}
+
+/**
+ * cloog_domain_bounds:
+ * Given a list (union) of polyhedra "domain", this function returns a single
+ * polyhedron with constraints that reflect the (parametric) lower and
+ * upper bound on dimension "dim".
+ *
+ * nb_par is the number of parameters of the domain.
+ */
+static CloogDomain * cloog_domain_bounds(CloogDomain * domain, int dim, int nb_par)
+{
+  int row, nb_rows, nb_columns, difference;
+  CloogDomain * projected_domain, *extended_domain, *bounds;
+  CloogMatrix * matrix ;
+
+  nb_rows = 1 + nb_par + 1;
+  nb_columns = cloog_domain_dim (domain) + 1 ;
+  difference = nb_columns - nb_rows ;
+  
+  if (difference == 0)
+    return(cloog_domain_convex(domain));
+  
+  matrix = cloog_matrix_alloc(nb_rows, nb_columns);
+     
+  cloog_matrix_element_set_si(matrix, 0, dim, 1);
+  for (row = 1; row < nb_rows; row++)
+    cloog_matrix_element_set_si(matrix, row, row+difference, 1);
+  
+  projected_domain = cloog_domain_image(domain,matrix) ;
+  extended_domain = cloog_domain_preimage(projected_domain, matrix);
+  cloog_domain_free(projected_domain);
+  cloog_matrix_free(matrix) ;
+  bounds = cloog_domain_convex(extended_domain);
+  cloog_domain_free(extended_domain);
+
+  return bounds;
+}
+
+/**
+ * cloog_domain_simple_convex:
+ * Given a list (union) of polyhedra, this function returns a "simple"
+ * convex hull of this union.  In particular, the constraints of the
+ * the returned polyhedron consist of (parametric) lower and upper
+ * bounds on individual variables and constraints that appear in the
+ * original polyhedra.
+ *
+ * nb_par is the number of parameters of the domain.
+ */
+CloogDomain * cloog_domain_simple_convex(CloogDomain * domain, int nb_par)
+{
+  int i;
+  int dim = cloog_domain_dim (domain) - nb_par;
+  CloogDomain *convex = NULL;
+
+  if (cloog_domain_isconvex(domain))
+    return cloog_domain_copy(domain);
+
+  for (i = 0; i < dim; ++i) {
+    CloogDomain *bounds = cloog_domain_bounds(domain, i, nb_par);
+
+    if (!convex)
+      convex = bounds;
+    else {
+      CloogDomain *temp = cloog_domain_intersection(convex, bounds);
+      cloog_domain_free(bounds);
+      cloog_domain_free(convex);
+      convex = temp;
+    }
+  }
+  if (dim > 1) {
+    CloogDomain *temp, *bounds;
+
+    bounds = cloog_domain_simplified_hull(domain);
+    temp = cloog_domain_intersection(convex, bounds);
+    cloog_domain_free(bounds);
+    cloog_domain_free(convex);
+    convex = temp;
+  }
+
+  return convex;
+}
+
+
+/**
+ * cloog_domain_simplify function:
+ * Given two polyhedral domains (pol1) and (pol2) inside two CloogDomain
+ * structures, this function finds the largest domain set (or the smallest list
+ * of non-redundant constraints), that when intersected with polyhedral
+ * domain (pol2) equals (Pol1)intersect(Pol2). The output is a new CloogDomain
+ * structure with a polyhedral domain with the "redundant" constraints removed.
+ * NB: this function do not work as expected with unions of polyhedra...
+ */ 
+CloogDomain * cloog_domain_simplify(CloogDomain * dom1, CloogDomain * dom2)
+{
+  CloogMatrix *M, *M2;
+  CloogDomain *dom;
+  Polyhedron *P = cloog_domain_polyhedron (dom1);
+
+  /* DomainSimplify doesn't remove all redundant equalities,
+   * so we remove them here first in case both dom1 and dom2
+   * are single polyhedra (i.e., not unions of polyhedra).
+   */
+  if (cloog_domain_isconvex (dom1)
+      && cloog_domain_isconvex (dom2)
+      && cloog_polyhedron_nbeq (P) && cloog_domain_nbeq (dom2)) {
+    int i, row;
+    int rows = cloog_polyhedron_nbeq (P) + cloog_domain_nbeq (dom2);
+    int cols = cloog_polyhedron_dim (P) + 2;
+    int rank;
+    M = cloog_matrix_alloc(rows, cols);
+    M2 = cloog_matrix_alloc(cloog_polyhedron_nbc (P), cols);
+    Vector_Copy(cloog_polyhedron_c (cloog_domain_polyhedron (dom2), 0), M->p[0], 
+               cloog_domain_nbeq (dom2) * cols);
+    rank = cloog_domain_nbeq (dom2);
+    row = 0;
+    for (i = 0; i < cloog_polyhedron_nbeq (P); ++i) {
+      Vector_Copy(cloog_polyhedron_c (P, i), M->p[rank], cols);
+      if (Gauss(M, rank+1, cols-1) > rank) {
+       Vector_Copy(cloog_polyhedron_c (P, i), M2->p[row++], cols);
+       rank++;
+      }
+    }
+    if (row < cloog_polyhedron_nbeq (P)) {
+      Vector_Copy(cloog_polyhedron_c (P, cloog_polyhedron_nbeq (P)), M2->p[row], 
+                 (cloog_polyhedron_nbc (P) - cloog_polyhedron_nbeq (P)) * cols);
+      P = Constraints2Polyhedron(M2, MAX_RAYS);
+    }
+    cloog_matrix_free(M2);
+    cloog_matrix_free(M);
+  }
+  dom = cloog_domain_alloc(DomainSimplify(P, cloog_domain_polyhedron (dom2),MAX_RAYS));
+  if (P != cloog_domain_polyhedron (dom1))
+    Polyhedron_Free(P);
+  return dom;
+}
+
+
+/**
+ * cloog_domain_union function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the union of two polyhedral domains (pol1) U (pol2) inside
+ * two CloogDomain structures.
+ */
+CloogDomain * cloog_domain_union(CloogDomain * dom1, CloogDomain * dom2)
+{ return (cloog_domain_alloc(DomainUnion(cloog_domain_polyhedron (dom1),
+                                         cloog_domain_polyhedron (dom2),MAX_RAYS))) ;
+}
+
+
+/**
+ * cloog_domain_intersection function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the intersection of two polyhedral domains (pol1)inter(pol2)
+ * inside two CloogDomain structures.
+ */ 
+CloogDomain * cloog_domain_intersection(CloogDomain * dom1, CloogDomain * dom2)
+{ return (cloog_domain_alloc(DomainIntersection(cloog_domain_polyhedron (dom1),
+                                                cloog_domain_polyhedron (dom2),MAX_RAYS))) ;
+}
+
+
+/**
+ * cloog_domain_difference function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the difference of two polyhedral domains domain \ minus
+ * inside two CloogDomain structures.
+ * - November 8th 2001: first version.
+ */ 
+CloogDomain * cloog_domain_difference(CloogDomain * domain, CloogDomain * minus)
+{ if (cloog_domain_isempty(minus))
+  return(cloog_domain_copy(domain)) ;
+  else
+    return (cloog_domain_alloc(DomainDifference(cloog_domain_polyhedron (domain),
+                                               cloog_domain_polyhedron (minus),MAX_RAYS))) ;
+}
+
+
+/**
+ * cloog_domain_addconstraints function :
+ * This function adds source's polyhedron constraints to target polyhedron: for
+ * each element of the polyhedron inside 'target' (i.e. element of the union
+ * of polyhedra) it adds the constraints of the corresponding element in
+ * 'source'.
+ * - August 10th 2002: first version.
+ * Nota bene for future : it is possible that source and target don't have the
+ * same number of elements (try iftest2 without non-shared constraint
+ * elimination in cloog_loop_separate !). This function is yet another part
+ * of the DomainSimplify patching problem...
+ */
+CloogDomain * cloog_domain_addconstraints(domain_source, domain_target)
+CloogDomain * domain_source, * domain_target ;
+{ unsigned nb_constraint ;
+  Value * constraints ;
+  Polyhedron * source, * target, * new, * next, * last ;
+
+  source = cloog_domain_polyhedron (domain_source) ;
+  target = cloog_domain_polyhedron (domain_target) ;
+  
+  constraints = source->p_Init ;
+  nb_constraint = cloog_polyhedron_nbc (source) ;
+  source = cloog_polyhedron_next (source) ;
+  new = AddConstraints(constraints,nb_constraint,target,MAX_RAYS) ;
+  last = new ;
+  next = cloog_polyhedron_next (target) ;
+
+  while (next != NULL)
+  { /* BUG !!! This is actually a bug. I don't know yet how to cleanly avoid
+     * the situation where source and target do not have the same number of
+     * elements. So this 'if' is an awful trick, waiting for better.
+     */
+    if (source != NULL)
+    { constraints = source->p_Init ;
+      nb_constraint = cloog_polyhedron_nbc (source) ;
+      source = cloog_polyhedron_next (source) ;
+    }
+    cloog_polyhedron_set_next (last, AddConstraints (constraints, nb_constraint,
+                                                    next, MAX_RAYS));
+    last = cloog_polyhedron_next (last);
+    next = cloog_polyhedron_next (next);
+  }
+
+  return (cloog_domain_alloc(new)) ;
+}
+
+
+/**
+ * cloog_domain_sort function:
+ * This function topologically sorts (nb_pols) polyhedra. Here (pols) is a an
+ * array of pointers to polyhedra, (nb_pols) is the number of polyhedra,
+ * (level) is the level to consider for partial ordering (nb_par) is the
+ * parameter space dimension, (permut) if not NULL, is an array of (nb_pols)
+ * integers that contains a permutation specification after call in order to
+ * apply the topological sorting. 
+ */
+void cloog_domain_sort(doms, nb_pols, level, nb_par, permut)
+CloogDomain ** doms ;
+unsigned nb_pols, level, nb_par ;
+int * permut ;
+{ 
+  int * time, i;
+  Polyhedron **pols = (Polyhedron **) malloc (nb_pols * sizeof (Polyhedron *));
+
+  for (i = 0; i < nb_pols; i++)
+    pols[i] = cloog_domain_polyhedron (doms[i]);
+  
+  /* time is an array of (nb_pols) integers to store logical time values. We
+   * do not use it, but it is compulsory for PolyhedronTSort.
+   */
+  time = (int *)malloc(nb_pols*sizeof(int)) ;
+
+  /* PolyhedronTSort will fill up permut (and time). */
+  PolyhedronTSort(pols,nb_pols,level,nb_par,time,permut,MAX_RAYS) ;
+    
+  free (pols);
+  free (time);
+}
+
+
+/**
+ * cloog_domain_empty function:
+ * This function allocates the memory space for a CloogDomain structure and
+ * sets its polyhedron to an empty polyhedron with 'dimension' dimensions.
+ * Then it returns a pointer to the allocated space.
+ * - June 10th 2005: first version.
+ */
+CloogDomain * cloog_domain_empty(int dimension)
+{ return (cloog_domain_alloc(Empty_Polyhedron(dimension))) ;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_print_structure :
+ * this function is a more human-friendly way to display the CloogDomain data
+ * structure, it only shows the constraint system and includes an indentation
+ * level (level) in order to work with others print_structure functions.
+ * Written by Olivier Chorier, Luc Marchaud, Pierre Martin and Romain Tartiere.
+ * - April 24th 2005: Initial version.
+ * - May   26th 2005: Memory leak hunt.
+ * - June  16th 2005: (Ced) Integration in domain.c.
+ */
+void cloog_domain_print_structure(FILE * file, CloogDomain * domain, int level)
+{ int i ;
+  CloogMatrix * matrix ;
+
+  /* Go to the right level. */
+  for(i=0; i<level; i++)
+  fprintf(file,"|\t") ;
+  
+  if (domain != NULL)
+  { fprintf(file,"+-- CloogDomain\n") ;
+  
+    /* Print the matrix. */
+    matrix = cloog_domain_domain2matrix(domain) ;
+    cloog_matrix_print_structure(file,matrix,level) ;
+    cloog_matrix_free(matrix) ;
+
+    /* A blank line. */
+    for (i=0; i<level+1; i++)
+    fprintf(file,"|\t") ;   
+    fprintf(file,"\n") ;    
+  }
+  else
+  fprintf(file,"+-- Null CloogDomain\n") ;
+
+}
+
+
+/**
+ * cloog_domain_list_print function:
+ * This function prints the content of a CloogDomainList structure into a
+ * file (foo, possibly stdout).
+ * - November 6th 2001: first version.
+ */
+void cloog_domain_list_print(FILE * foo, CloogDomainList * list)
+{
+  while (list != NULL)
+    {
+      cloog_domain_print (foo, cloog_domain (list)) ;
+      list = cloog_next_domain (list) ;
+    }
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_list_free function:
+ * This function frees the allocated memory for a CloogDomainList structure.
+ * - November 6th 2001: first version.
+ */
+void cloog_domain_list_free(CloogDomainList * list)
+{ CloogDomainList * temp ;
+  
+  while (list != NULL)
+    {
+      temp = cloog_next_domain (list) ;
+      cloog_domain_free (cloog_domain (list)) ;
+      free(list) ;
+      list = temp ;
+    }
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_read function:
+ * Adaptation from the PolyLib. This function reads a matrix into a file (foo,
+ * posibly stdin) and returns a pointer to a polyhedron containing the read
+ * information. 
+ * - October 18th 2001: first version.
+ */
+CloogDomain * cloog_domain_read(FILE * foo)
+{ CloogMatrix * matrix ;
+  CloogDomain * domain ;
+  
+  matrix = cloog_matrix_read(foo) ;
+  domain = cloog_domain_matrix2domain(matrix) ;
+  cloog_matrix_free(matrix) ;
+  
+  return(domain) ;
+}
+
+
+/**
+ * cloog_domain_union_read function:
+ * This function reads a union of polyhedra into a file (foo, posibly stdin) and
+ * returns a pointer to a Polyhedron containing the read information. 
+ * - September 9th 2002: first version.
+ * - October  29th 2005: (debug) removal of a leak counting "correction" that
+ *                       was just false since ages.
+ */
+CloogDomain * cloog_domain_union_read(FILE * foo)
+{ int i, nb_components ;
+  char s[MAX_STRING] ;
+  CloogDomain * domain, * temp, * old ;
+
+  /* domain reading: nb_components (constraint matrices). */
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %d",&nb_components)<1))
+  fgets(s,MAX_STRING,foo) ;
+  
+  if (nb_components > 0)
+  { /* 1. first part of the polyhedra union, */
+    domain = cloog_domain_read(foo) ;
+    /* 2. and the nexts. */
+    for (i=1;i<nb_components;i++)
+    { /* Leak counting is OK since next allocated domain is freed here. */
+      temp = cloog_domain_read(foo) ;
+      old = domain ;
+      domain = cloog_domain_union(temp,old) ;
+      cloog_domain_free(temp) ;
+      cloog_domain_free(old) ;
+    }    
+    return domain ;
+  }
+  else
+  return NULL ;
+}
+
+
+/**
+ * cloog_domain_list_read function:
+ * This function reads a list of polyhedra into a file (foo, posibly stdin) and
+ * returns a pointer to a CloogDomainList containing the read information. 
+ * - November 6th 2001: first version.
+ */
+CloogDomainList * cloog_domain_list_read(FILE * foo)
+{ int i, nb_pols ;
+  char s[MAX_STRING] ;
+  CloogDomainList * list, * now, * next ;
+  
+  
+  /* We read first the number of polyhedra in the list. */
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %d",&nb_pols)<1))
+  fgets(s,MAX_STRING,foo) ;
+  
+  /* Then we read the polyhedra. */
+  list = NULL ;
+  if (nb_pols > 0)
+  { list = (CloogDomainList *)malloc(sizeof(CloogDomainList)) ;
+    cloog_set_domain (list, cloog_domain_read (foo));
+    cloog_set_next_domain (list, NULL);
+    now = list ;
+    for (i=1;i<nb_pols;i++)
+    { next = (CloogDomainList *)malloc(sizeof(CloogDomainList)) ;
+      cloog_set_domain (next, cloog_domain_read (foo));
+      cloog_set_next_domain (next, NULL);
+      cloog_set_next_domain (now, next);
+      now = cloog_next_domain (now);
+    }
+  }
+  return(list) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+/**
+ * cloog_domain_isempty function:
+ * This function returns 1 if the polyhedron given as input is empty, 0
+ * otherwise.
+ * - October 28th 2001: first version.
+ */ 
+int cloog_domain_isempty(CloogDomain * domain)
+{ if (cloog_domain_polyhedron (domain) == NULL)
+  return 1 ;
+
+  if (cloog_domain_polyhedron_next (domain))
+    return(0) ;
+
+  return((cloog_domain_dim (domain) 
+         < cloog_domain_nbeq (domain)) ? 1 : 0) ;
+}
+
+
+/**
+ * cloog_domain_project function:
+ * From Quillere's LoopGen 0.4. This function returns the projection of
+ * (domain) on the (level) first dimensions (i.e. outer loops). It returns a
+ * pointer to the projected Polyhedron.
+ * - nb_par is the number of parameters.
+ **
+ * - October 27th 2001: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */ 
+CloogDomain * cloog_domain_project(CloogDomain * domain, int level, int nb_par)
+{ int row, column, nb_rows, nb_columns, difference ;
+  CloogDomain * projected_domain ;
+  CloogMatrix * matrix ;
+
+  nb_rows = level + nb_par + 1 ;
+  nb_columns = cloog_domain_dim (domain) + 1 ;
+  difference = nb_columns - nb_rows ;
+  
+  if (difference == 0)
+  return(cloog_domain_copy(domain)) ;
+  
+  matrix = cloog_matrix_alloc(nb_rows,nb_columns) ;
+     
+  for (row=0;row<level;row++)
+  for (column=0;column<nb_columns; column++)
+    cloog_matrix_element_set_si(matrix, row, column, (row == column ? 1 : 0)) ;
+
+  for (;row<nb_rows;row++)
+  for (column=0;column<nb_columns;column++)
+    cloog_matrix_element_set_si (matrix, row, column, (row+difference == column ? 1 : 0)) ;
+  
+  projected_domain = cloog_domain_image(domain,matrix) ;
+  cloog_matrix_free(matrix) ;
+
+  return(projected_domain) ;
+}  
+
+/**
+ * cloog_domain_extend function:
+ * From Quillere's LoopGen 0.4. This function returns the (domain) given as
+ * input with (dim)+(nb_par) dimensions. The new dimensions are added before
+ * the (nb_par) parameters. This function does not free (domain), and returns
+ * a new polyhedron.
+ * - nb_par is the number of parameters.
+ **
+ * - October 27th 2001: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                 CLooG 0.12.1).
+ */ 
+CloogDomain * cloog_domain_extend(CloogDomain * domain, int dim, int nb_par)
+{ int row, column, nb_rows, nb_columns, difference ;
+  CloogDomain * extended_domain ;
+  CloogMatrix * matrix ;
+  
+  nb_rows = 1 + cloog_domain_dim (domain) ;
+  nb_columns = dim + nb_par + 1 ;
+  difference = nb_columns - nb_rows ;
+  
+  if (difference == 0)
+  return(cloog_domain_copy(domain)) ;
+  
+  matrix = cloog_matrix_alloc(nb_rows,nb_columns) ;
+    
+  for (row=0;row<cloog_domain_dim (domain) - nb_par;row++)
+  for (column=0;column<nb_columns;column++)
+    cloog_matrix_element_set_si(matrix, row, column, (row == column ? 1 : 0)) ;
+  
+  for (;row<=cloog_domain_dim (domain); row++)
+  for (column=0;column<nb_columns;column++)
+    cloog_matrix_element_set_si(matrix, row, column, (row+difference == column ? 1 : 0)) ;
+  
+  extended_domain = cloog_domain_preimage(domain,matrix) ;
+  cloog_matrix_free(matrix) ;
+
+  return(extended_domain) ;
+}
+
+
+/**
+ * cloog_domain_never_integral function:
+ * For us, an equality like 3*i -4 = 0 is always false since 4%3 != 0. This
+ * function returns a boolean set to 1 if there is this kind of 'never true'
+ * constraint inside a polyhedron, 0 otherwise.
+ * - domain is the polyhedron to check,
+ **
+ * - November 28th 2001: first version. 
+ * - June 26th 2003: for iterators, more 'never true' constraints are found
+ *                   (compare cholesky2 and vivien with a previous version),
+ *                   checking for the parameters created (compare using vivien).
+ * - June 28th 2003: Previously in loop.c and called
+ *                   cloog_loop_simplify_nevertrue, now here !
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ * - October 14th 2005: Complete rewriting, not faster but code quite shorter.
+ */
+int cloog_domain_never_integral(CloogDomain * domain)
+{ int i, dimension ;
+  Value gcd, modulo ;
+  Polyhedron * polyhedron ;
+
+  if ((domain == NULL) || (cloog_domain_polyhedron (domain) == NULL))
+  return 1 ;
+  
+  value_init_c(gcd) ;
+  value_init_c(modulo) ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  dimension = cloog_domain_dim (domain) + 2  ;
+  
+  /* For each constraint... */
+  for (i=0; i<cloog_polyhedron_nbc (polyhedron); i++)  
+  { /* If we have an equality and the scalar part is not zero... */
+    if (value_zero_p(cloog_polyhedron_cval (polyhedron, i, 0)) && 
+        value_notzero_p(cloog_polyhedron_cval (polyhedron, i, dimension-1)))
+    { /* Then we check whether the scalar can be divided by the gcd of the
+       * unknown vector (including iterators and parameters) or not. If not,
+       * there is no integer point in the polyhedron and we return 1.
+       */
+      cloog_polyhedron_c_gcd (polyhedron, i, 1, dimension-2, &gcd) ;
+      value_modulus(modulo,cloog_polyhedron_cval (polyhedron, i, dimension - 1), gcd) ;
+      
+      if (value_notzero_p(modulo))
+      { value_clear_c(gcd) ;
+        value_clear_c(modulo) ;
+        return 1 ;
+      }
+    }
+  }
+  
+  value_clear_c(gcd) ;
+  value_clear_c(modulo) ;
+  return(0) ;
+}
+
+
+/**
+ * cloog_domain_stride function:
+ * This function finds the stride imposed to unknown with the column number
+ * 'strided_level' in order to be integral. For instance, if we have a
+ * constraint like -i - 2j + 2k = 0, and we consider k, then k can be integral
+ * only if (i + 2j)%2 = 0. Then only if i%2 = 0. Then k imposes a stride 2 to
+ * the unknown i. The function returns the imposed stride in a parameter field.
+ * - domain is the set of constraint we have to consider,
+ * - strided_level is the column number of the unknown for which a stride have
+ *   to be found,
+ * - looking_level is the column number of the unknown that impose a stride to
+ *   the first unknown.
+ * - stride is the stride that is returned back as a function parameter. 
+ * - offset is the value of the constant c if the condition is of the shape
+ *   (i + c)%s = 0, s being the stride.
+ **
+ * - June 28th 2003: first version.
+ * - July 14th 2003: can now look for multiple striding constraints and returns
+ *                   the GCD of the strides and the common offset.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+void cloog_domain_stride(domain, strided_level, nb_par, stride, offset)
+CloogDomain * domain ;
+int strided_level, nb_par ;
+Value  * stride, * offset;
+{ int i, dimension;
+  Polyhedron * polyhedron ;
+  int n_col, n_row, rank;
+  CloogMatrix *M;
+  Matrix *U;
+  Vector *V;
+
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  dimension = cloog_domain_dim (domain);
+
+  /* Look at all equalities involving strided_level and the inner
+   * iterators.  We can ignore the outer iterators and the parameters
+   * here because the lower bound on strided_level is assumed to
+   * be a constant.
+   */
+  n_col = (1+dimension-nb_par) - strided_level;
+  for (i=0, n_row=0; i < cloog_polyhedron_nbeq (polyhedron); i++)
+    if (First_Non_Zero(cloog_polyhedron_c (polyhedron, i) + strided_level, n_col) != -1)
+      ++n_row;
+
+  M = cloog_matrix_alloc(n_row+1, n_col+1);
+  for (i=0, n_row = 0; i < cloog_polyhedron_nbeq (polyhedron); i++) {
+    if (First_Non_Zero(cloog_polyhedron_c (polyhedron, i) + strided_level, n_col) == -1)
+      continue;
+    Vector_Copy(cloog_polyhedron_c (polyhedron, i) + strided_level, M->p[n_row], n_col);
+    cloog_matrix_element_assign(M, n_row, n_col, cloog_polyhedron_cval (polyhedron, i, 1 + dimension));
+    ++n_row;
+  }
+  cloog_matrix_element_set_si(M, n_row, n_col, 1);
+
+  /* Then look at the general solution to the above equalities. */
+  rank = SolveDiophantine(M, &U, &V);
+  cloog_matrix_free(M);
+
+  if (rank == -1) {
+    /* There is no solution, so the body of this loop will
+     * never execute.  We just leave the constraints alone here so
+     * that they will ensure the body will not be executed.
+     * We should probably propagate this information up so that
+     * the loop can be removed entirely.
+     */ 
+    value_set_si(*offset, 0);
+    value_set_si(*stride, 1);
+  } else {
+    /* Compute the gcd of the coefficients defining strided_level. */
+    Vector_Gcd(U->p[0], U->NbColumns, stride);
+    value_oppose(*offset, V->p[0]);
+    value_pmodulus(*offset, *offset, *stride);
+  }
+  Matrix_Free(U);
+  Vector_Free(V);
+
+  return ;
+}
+
+
+/**
+ * cloog_domain_integral_lowerbound function:
+ * This function returns 1 if the lower bound of an iterator (such as its
+ * column rank in the constraint set 'domain' is 'level') is integral,
+ * 0 otherwise. If the lower bound is actually integral, the function fills
+ * the 'lower' field with the lower bound value.
+ * - June 29th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+int cloog_domain_integral_lowerbound(domain, level, lower)
+CloogDomain * domain ;
+int level ;
+Value * lower ;
+{ int i, first_lower=1, dimension, lower_constraint=-1 ;
+  Value iterator, constant, tmp;
+  Polyhedron * polyhedron ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  dimension = cloog_domain_dim (domain);
+  
+  /* We want one and only one lower bound (e.g. no equality, no maximum
+   * calculation...).
+   */
+  for (i=0; i<cloog_polyhedron_nbc (polyhedron); i++)  
+    if (value_zero_p(cloog_polyhedron_cval (polyhedron, i, 0))
+       && value_notzero_p(cloog_polyhedron_cval (polyhedron, i, level)))
+      return 0 ;
+
+  for (i=0; i<cloog_polyhedron_nbc (polyhedron); i++)  
+    if (value_pos_p (cloog_polyhedron_cval (polyhedron, i, level)))
+      { 
+       if (first_lower)
+         { 
+           first_lower = 0 ;
+           lower_constraint = i ;
+         }
+       else
+         return 0 ;
+      }
+
+  if (first_lower)
+  return 0 ;
+  
+  /* We want an integral lower bound: no other non-zero entry except the
+   * iterator coefficient and the constant.
+   */
+  for (i=1; i<level; i++)  
+    if (value_notzero_p(cloog_polyhedron_cval (polyhedron, lower_constraint, i)))
+      return 0 ;
+
+  for (i=level+1; i <= cloog_polyhedron_dim (polyhedron); i++)  
+    if (value_notzero_p(cloog_polyhedron_cval (polyhedron, lower_constraint, i)))
+      return 0 ;
+
+  value_init_c(iterator) ;
+  value_init_c(constant) ;
+  value_init_c(tmp) ;
+
+  /* If all is passed, then find the lower bound and return 1. */
+  value_assign(iterator, cloog_polyhedron_cval (polyhedron, lower_constraint, level)) ;
+  value_oppose(constant, cloog_polyhedron_cval (polyhedron, lower_constraint, dimension + 1));
+
+  value_modulus(tmp, constant, iterator) ;
+  value_division(*lower, constant, iterator) ;
+
+  if (!(value_zero_p(tmp) || value_neg_p(constant)))
+  value_increment(*lower, *lower) ;
+  
+  value_clear_c(iterator) ;
+  value_clear_c(constant) ;
+  value_clear_c(tmp) ;
+
+  return 1 ;
+}
+
+
+/**
+ * cloog_domain_lowerbound_update function:
+ * This function updates the integral lower bound of an iterator (such as its
+ * column rank in the constraint set 'domain' is 'level') into  'lower'.
+ * - Jun  29th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+void cloog_domain_lowerbound_update(domain, level, lower)
+CloogDomain * domain ;
+int level ;
+Value lower ;
+{ int i ;
+  Polyhedron * polyhedron ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  /* There is only one lower bound, the first one is the good one. */
+  for (i=0; i<cloog_polyhedron_nbc (polyhedron); i++)  
+    if (value_pos_p(cloog_polyhedron_cval (polyhedron, i, level)))
+      {
+       cloog_polyhedron_cval_set_si (polyhedron, i, level, 1) ;
+       cloog_polyhedron_cval_oppose (polyhedron, i, cloog_polyhedron_dim (polyhedron) + 1, lower) ;
+       break ;
+      }
+}
+
+
+/**
+ * cloog_domain_lazy_equal function:
+ * This function returns 1 if the domains given as input are the same, 0 if it
+ * is unable to decide. This function makes an entry-to-entry comparison between
+ * the constraint systems, if all the entries are the same, the domains are
+ * obviously the same and it returns 1, at the first difference, it returns 0.
+ * This is a very fast way to verify this property. It has been shown (with the
+ * CLooG benchmarks) that operations on equal domains are 17% of all the
+ * polyhedral computations. For 75% of the actually identical domains, this
+ * function answer that they are the same and allow to give immediately the
+ * trivial solution instead of calling the heavy general functions of PolyLib.
+ * - August 22th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+int cloog_domain_lazy_equal(CloogDomain * d1, CloogDomain * d2)
+{ int i, nb_elements ;
+  Polyhedron * p1, * p2 ;
+  p1 = cloog_domain_polyhedron (d1) ;
+  p2 = cloog_domain_polyhedron (d2) ;
+
+  while ((p1 != NULL) && (p2 != NULL))
+    { if ((cloog_polyhedron_nbc (p1) != cloog_polyhedron_nbc (p2)) ||
+         (cloog_polyhedron_dim (p1) != cloog_polyhedron_dim (p2)))
+       return 0 ;
+
+      nb_elements = cloog_polyhedron_nbc (p1) * (cloog_polyhedron_dim (p1) + 2) ;
+
+    for (i=0;i<nb_elements;i++)
+    if (value_ne(p1->p_Init[i], p2->p_Init[i]))
+    return 0 ;
+    
+    p1 = cloog_polyhedron_next (p1) ;
+    p2 = cloog_polyhedron_next (p2) ;
+  }
+  
+  if ((p1 != NULL) || (p2 != NULL))
+  return 0 ;
+  
+  return 1 ;
+}
+
+
+/**
+ * cloog_domain_lazy_block function:
+ * This function returns 1 if the two domains d1 and d2 given as input are the
+ * same (possibly except for a dimension equal to a constant where we accept
+ * a difference of 1) AND if we are sure that there are no other domain in
+ * the code generation problem that may put integral points between those of
+ * d1 and d2 (0 otherwise). In fact this function answers the question "can I
+ * safely consider the two domains as only one with two statements (a block) ?".
+ * This function is lazy: it asks for very standard scattering representation
+ * (only one constraint per dimension which is an equality, and the constraints
+ * are ordered per dimension depth: the left hand side of the constraint matrix
+ * is the identity) and will answer NO at the very first problem.
+ * - d1 and d2 are the two domains to check for blocking,
+ * - scattering is the linked list of all domains,
+ * - scattdims is the total number of scattering dimentions.
+ **
+ * - April   30th 2005: beginning
+ * - June     9th 2005: first working version.
+ * - June    10th 2005: debugging.
+ * - June    21rd 2005: Adaptation for GMP.
+ * - October 16th 2005: (debug) some false blocks have been removed.
+ */
+int cloog_domain_lazy_block(d1, d2, scattering, scattdims)
+CloogDomain * d1, * d2 ;
+CloogDomainList * scattering ;
+int scattdims ;
+{ int i, j, difference=0, different_constraint=0 ;
+  Value date1, date2, date3, temp ;
+  Polyhedron * p1, * p2, * p3 ;
+   
+  p1 = cloog_domain_polyhedron (d1) ;
+  p2 = cloog_domain_polyhedron (d2) ;
+  
+  /* Some basic checks: we only accept convex domains, with same constraint
+   * and dimension numbers.
+   */
+  if (cloog_polyhedron_next (p1) || cloog_polyhedron_next (p2) ||
+      (cloog_polyhedron_nbc (p1) != cloog_polyhedron_nbc (p2)) ||
+      (cloog_polyhedron_dim (p1) != cloog_polyhedron_dim (p2)))
+  return 0 ;
+    
+  /* There should be only one difference between the two domains, it
+   * has to be at the constant level and the difference must be of +1,
+   * moreover, after the difference all domain coefficient has to be 0.
+   * The matrix shape is:
+   *
+   * |===========|=====|<- 0 line
+   * |===========|=====|
+   * |===========|====?|<- different_constraint line (found here)
+   * |===========|0000=|
+   * |===========|0000=|<- pX->NbConstraints line
+   *  ^         ^     ^
+   *  |         |     |
+   *  |         |     (pX->Dimension + 2) column
+   *  |         scattdims column
+   *  0 column
+   */
+
+  value_init_c(temp) ;
+  for (i=0;i<cloog_polyhedron_nbc (p1);i++)
+  { if (difference == 0)
+    { /* All elements except scalar must be equal. */
+      for (j=0; j < (cloog_polyhedron_dim (p1) + 1); j++)
+       if (value_ne(cloog_polyhedron_cval (p1, i, j),
+                    cloog_polyhedron_cval (p2, i, j)))
+         {
+           value_clear_c(temp) ;
+           return 0 ;
+         }
+      /* The scalar may differ from +1 (now j=(p1->Dimension + 1)). */ 
+      if (value_ne(cloog_polyhedron_cval (p1, i, j),
+                  cloog_polyhedron_cval (p2, i, j)))
+       {
+         value_increment(temp, cloog_polyhedron_cval (p2, i, j)) ;
+         if (value_ne (cloog_polyhedron_cval (p1, i, j), temp))
+           {
+             value_clear_c(temp) ;
+             return 0 ;
+           }
+         else
+           {
+             difference = 1 ;
+             different_constraint = i ;
+           }
+       }
+    }
+    else
+    { /* Scattering coefficients must be equal. */
+      for (j=0;j<(scattdims+1);j++)
+       if (value_ne(cloog_polyhedron_cval (p1, i, j),
+                    cloog_polyhedron_cval (p2, i, j)))
+         {
+           value_clear_c(temp) ;
+           return 0 ;
+         }
+      
+      /* Domain coefficients must be 0. */
+      for (; j < (cloog_polyhedron_dim (p1) + 1);j++)
+       if (value_notzero_p (cloog_polyhedron_cval (p1, i, j))
+           || value_notzero_p (cloog_polyhedron_cval (p2, i, j)))
+         {
+           value_clear_c(temp) ;
+           return 0 ;
+         }
+      
+      /* Scalar must be equal. */
+      if (value_ne(cloog_polyhedron_cval (p1, i, j),
+                  cloog_polyhedron_cval (p2, i, j)))
+       {
+         value_clear_c(temp) ;
+         return 0 ;
+       }
+    }
+  }
+  value_clear_c(temp) ;
+
+  /* If the domains are exactly the same, this is a block. */
+  if (difference == 0)
+  return 1 ;
+   
+  /* Now a basic check that the constraint with the difference is an
+   * equality of a dimension with a constant.
+   */
+  for (i=0;i<=different_constraint;i++)
+    if (value_notzero_p(cloog_polyhedron_cval (p1, different_constraint, i)))
+      return 0 ;
+  
+  if (value_notone_p(cloog_polyhedron_cval (p1, different_constraint,
+                                           different_constraint + 1)))
+    return 0 ;
+  
+  for (i=different_constraint+2;i<(cloog_polyhedron_dim (p1) + 1);i++)
+    if (value_notzero_p(cloog_polyhedron_cval (p1, different_constraint, i)))
+      return 0 ;
+  
+  /* For the moment, d1 and d2 are a block candidate. There remains to check
+   * that there is no other domain that may put an integral point between
+   * them. In our lazy test we ensure this property by verifying that the
+   * constraint matrices have a very strict shape: let us consider that the
+   * dimension with the difference is d. Then the first d dimensions are
+   * defined in their depth order using equalities (thus the first column begins
+   * with d zeroes, there is a d*d identity matrix and a zero-matrix for
+   * the remaining simensions). If a domain can put integral points between the
+   * domains of the block candidate, this means that the other entries on the
+   * first d constraints are equal to those of d1 or d2. Thus we are looking for
+   * such a constraint system, if it exists d1 and d2 is considered to not be
+   * a block, it is a bock otherwise.
+   *
+   *  1. Only equalities (for the first different_constraint+1 lines).
+   *  |  2. Must be the identity.
+   *  |  |    3. Must be zero.
+   *  |  |    |     4. Elements are equal, the last one is either date1 or 2.
+   *  |  |    |     |
+   *  | /-\ /---\ /---\
+   * |0|100|00000|=====|<- 0 line
+   * |0|010|00000|=====|
+   * |0|001|00000|====?|<- different_constraint line
+   * |*|***|*****|*****|
+   * |*|***|*****|*****|<- pX->NbConstraints line
+   *  ^   ^     ^     ^
+   *  |   |     |     |
+   *  |   |     |     (pX->Dimension + 2) column
+   *  |   |     scattdims column
+   *  |   different_constraint+1 column
+   *  0 column
+   */
+  
+  /* Step 1 and 2. This is only necessary to check one domain because
+   * we checked that they are equal on this part before.
+   */
+  for (i=0;i<=different_constraint;i++)
+  { for (j=0;j<i+1;j++)
+      if (value_notzero_p (cloog_polyhedron_cval (p1, i, j)))
+       return 0 ;
+    
+    if (value_notone_p(cloog_polyhedron_cval (p1, i, i+1)))
+      return 0 ;
+    
+    for (j=i+2;j<=different_constraint+1;j++)
+      if (value_notzero_p(cloog_polyhedron_cval (p1, i, j)))
+       return 0 ;
+  }
+  
+  /* Step 3. */
+  for (i=0;i<=different_constraint;i++)
+  for (j=different_constraint+2;j<=scattdims;j++)
+    if (value_notzero_p(cloog_polyhedron_cval (p1, i, j)))
+  return 0 ;
+  
+  value_init_c(date1) ;
+  value_init_c(date2) ;
+  value_init_c(date3) ;
+
+  /* Now we have to check that the two different dates are unique. */
+  value_assign (date1, cloog_polyhedron_cval (p1, different_constraint, 
+                                             cloog_polyhedron_dim (p1) + 1)) ;
+  value_assign (date2, cloog_polyhedron_cval (p2, different_constraint,
+                                             cloog_polyhedron_dim (p2) + 1)) ;
+
+  /* Step 4. We check all domains except d1 and d2 and we look for at least
+   * a difference with d1 or d2 on the first different_constraint+1 dimensions.
+   */
+  while (scattering != NULL)
+    {
+      if ((cloog_domain (scattering) != d1) && (cloog_domain (scattering) != d2))
+       { 
+         p3 = cloog_domain_polyhedron (cloog_domain (scattering)) ;
+         value_assign (date3, cloog_polyhedron_cval (p3, different_constraint,
+                                                     cloog_polyhedron_dim (p3) + 1));
+         difference = 0 ;
+
+         if (value_ne(date3,date2) && value_ne(date3,date1))
+           difference = 1 ;
+      
+         for (i=0;(i<different_constraint)&&(!difference);i++)
+           for (j=0;(j<(cloog_polyhedron_dim (p3) + 2))&&(!difference);j++)
+             if (value_ne (cloog_polyhedron_cval (p1, i, j), 
+                           cloog_polyhedron_cval (p3, i, j)))
+               difference = 1 ;
+
+         for (j=0;(j<(cloog_polyhedron_dim (p3) + 1))&&(!difference);j++)
+           if (value_ne (cloog_polyhedron_cval (p1, different_constraint, j),
+                         cloog_polyhedron_cval (p3, different_constraint, j)))
+             difference = 1 ;
+      
+         if (!difference)
+           {
+             value_clear_c(date1) ;
+             value_clear_c(date2) ;
+             value_clear_c(date3) ;
+             return 0 ;
+           }
+       }
+  
+      scattering = cloog_next_domain (scattering);
+    }
+   
+  value_clear_c(date1) ;
+  value_clear_c(date2) ;
+  value_clear_c(date3) ;
+  return 1 ;
+}
+
+
+/**
+ * cloog_domain_lazy_disjoint function:
+ * This function returns 1 if the domains given as input are disjoint, 0 if it
+ * is unable to decide. This function finds the unknown with fixed values in
+ * both domains (on a given constraint, their column entry is not zero and
+ * only the constant coefficient can be different from zero) and verify that
+ * their values are the same. If not, the domains are obviously disjoint and
+ * it returns 1, if there is not such case it returns 0.  This is a very fast
+ * way to verify this property. It has been shown (with the CLooG benchmarks)
+ * that operations on disjoint domains are 36% of all the polyhedral
+ * computations. For 94% of the actually identical domains, this
+ * function answer that they are disjoint and allow to give immediately the
+ * trivial solution instead of calling the heavy general functions of PolyLib.
+ * - August 22th 2003: first version.
+ * - June   21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                     CLooG 0.12.1).
+ */
+int cloog_domain_lazy_disjoint(CloogDomain * d1, CloogDomain * d2)
+{
+  int i1, j1, i2, j2, scat_dim ;
+  Value scat_val ;
+  Polyhedron * p1, * p2 ;
+  p1 = cloog_domain_polyhedron (d1) ;
+  p2 = cloog_domain_polyhedron (d2) ;
+
+  if (cloog_polyhedron_next (p1) || cloog_polyhedron_next (p2))
+    return 0 ;
+  
+  value_init_c(scat_val) ;
+  
+  for (i1=0; i1<cloog_polyhedron_nbc (p1); i1++)
+    {
+      if (value_notzero_p (cloog_polyhedron_cval (p1, i1, 0)))
+       continue ;
+    
+      scat_dim = 1 ;
+      while (value_zero_p(cloog_polyhedron_cval (p1, i1, scat_dim)) &&
+            (scat_dim < cloog_polyhedron_dim (p1)))
+       scat_dim ++ ;
+    
+      if (value_notone_p(cloog_polyhedron_cval (p1, i1, scat_dim)))
+       continue ;
+      else
+       {
+         for (j1=scat_dim+1; j1<=cloog_polyhedron_dim (p1); j1++)
+           if (value_notzero_p(cloog_polyhedron_cval (p1, i1, j1)))
+             break ;
+      
+         if (j1 != cloog_polyhedron_dim (p1)+1)
+           continue ;
+      
+         value_assign (scat_val, cloog_polyhedron_cval (p1, i1, cloog_polyhedron_dim (p1) + 1)) ;
+            
+         for (i2=0; i2<cloog_polyhedron_nbc (p2); i2++)
+           {
+             for (j2=0;j2<scat_dim;j2++)
+               if (value_notzero_p (cloog_polyhedron_cval (p2, i2, j2)))
+                 break ;
+       
+             if ((j2 != scat_dim)
+                 || value_notone_p(cloog_polyhedron_cval (p2, i2, scat_dim)))
+               continue ;
+       
+             for (j2=scat_dim+1; j2 < cloog_polyhedron_dim (p2); j2++)
+               if (value_notzero_p(cloog_polyhedron_cval (p2, i2, j2)))
+                 break ;
+       
+             if (j2 != cloog_polyhedron_dim (p2))
+               continue ;
+       
+             if (value_ne(cloog_polyhedron_cval (p2, i2, cloog_polyhedron_dim (p2) + 1), scat_val))
+               {
+                 value_clear_c(scat_val) ;
+                 return 1 ;
+               }
+           }
+       }
+    }
+
+  value_clear_c(scat_val) ;
+  return 0 ;
+} 
+/**
+ * cloog_domain_list_lazy_same function:
+ * This function returns 1 if two domains in the list are the same, 0 if it
+ * is unable to decide.
+ * - February 9th 2004: first version.
+ */
+int cloog_domain_list_lazy_same(CloogDomainList * list)
+{ /*int i=1, j=1 ;*/
+  CloogDomainList * current, * next ;
+
+  current = list ;
+  while (current != NULL)
+    {
+      next = cloog_next_domain (current);
+      /*j=i+1;*/
+      while (next != NULL)
+       {
+         if (cloog_domain_lazy_equal (cloog_domain (current),
+                                      cloog_domain (next)))
+           { /*printf("Same domains: %d and %d\n",i,j) ;*/
+             return 1 ;
+           }
+         /*j++ ;*/
+         next = cloog_next_domain (next) ;
+       }
+      /*i++ ;*/
+      current = cloog_next_domain (current) ;
+    }
+  
+  return 0 ;
+}
+
+/**
+ * cloog_domain_cut_first function:
+ * this function returns a CloogDomain structure with everything except the
+ * first part of the polyhedra union of the input domain as domain. After a call
+ * to this function, there remains in the CloogDomain structure provided as
+ * input only the first part of the original polyhedra union.
+ * - April 20th 2005: first version, extracted from different part of loop.c.
+ */
+CloogDomain * cloog_domain_cut_first(CloogDomain * domain)
+{ CloogDomain * rest ;
+  
+  if ((domain != NULL) && (cloog_domain_polyhedron (domain) != NULL))
+    { rest = cloog_domain_alloc(cloog_domain_polyhedron_next (domain)) ;
+      cloog_domain_polyhedron_set_next (domain, NULL) ;
+  }
+  else
+  rest = NULL ;
+  
+  return rest ;
+}
+
+
+/**
+ * cloog_domain_lazy_isscalar function:
+ * this function returns 1 if the dimension 'dimension' in the domain 'domain'
+ * is scalar, this means that the only constraint on this dimension must have
+ * the shape "x.dimension + scalar = 0" with x an integral variable. This
+ * function is lazy since we only accept x=1 (further calculations are easier
+ * in this way).
+ * - June 14th 2005: first version.
+ * - June 21rd 2005: Adaptation for GMP.
+ */
+int cloog_domain_lazy_isscalar(CloogDomain * domain, int dimension)
+{ int i, j ;
+  Polyhedron * polyhedron ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  /* For each constraint... */
+  for (i=0;i<cloog_polyhedron_nbc (polyhedron);i++)
+  { /* ...if it is concerned by the potentially scalar dimension... */
+    if (value_notzero_p (cloog_polyhedron_cval (polyhedron, i, dimension+1)))
+    { /* ...check that the constraint has the shape "dimension + scalar = 0". */
+      for (j=0;j<=dimension;j++)
+       if (value_notzero_p(cloog_polyhedron_cval (polyhedron, i, j)))
+         return 0 ;
+  
+      if (value_notone_p(cloog_polyhedron_cval (polyhedron, i, dimension + 1)))
+      return 0 ;
+  
+      for (j=dimension+2;j<(cloog_polyhedron_dim (polyhedron) + 1);j++)
+       if (value_notzero_p(cloog_polyhedron_cval (polyhedron, i, j)))
+      return 0 ;
+    }
+  }
+  
+  return 1 ;
+}
+
+
+/**
+ * cloog_domain_scalar function:
+ * when we call this function, we know that "dimension" is a scalar dimension,
+ * this function finds the scalar value in "domain" and returns it in "value".
+ * - June 30th 2005: first version.
+ */
+void cloog_domain_scalar(CloogDomain * domain, int dimension, Value * value)
+{ int i ;
+  Polyhedron * polyhedron ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  /* For each constraint... */
+  for (i=0;i<cloog_polyhedron_nbc (polyhedron);i++)
+  { /* ...if it is the equality defining the scalar dimension... */
+    if (value_notzero_p(cloog_polyhedron_cval (polyhedron, i, dimension+1)) &&
+        value_zero_p(cloog_polyhedron_cval (polyhedron, i, 0)))
+    { /* ...Then send the scalar value. */
+      value_assign(*value,cloog_polyhedron_cval (polyhedron, i,
+                                                cloog_polyhedron_dim (polyhedron) + 1)) ;
+      value_oppose(*value,*value) ;
+      return ;
+    }
+  }
+  
+  /* We should have found a scalar value: if not, there is an error. */
+  fprintf(stderr, "[CLooG]ERROR: dimension %d is not scalar as expected.\n",
+          dimension) ;
+  exit(0) ;
+}
+
+
+/**
+ * cloog_domain_erase_dimension function:
+ * this function returns a CloogDomain structure builds from 'domain' where
+ * we removed the dimension 'dimension' and every constraint considering this
+ * dimension. This is not a projection ! Every data concerning the
+ * considered dimension is simply erased.
+ * - June 14th 2005: first version.
+ * - June 21rd 2005: Adaptation for GMP.
+ */
+CloogDomain * cloog_domain_erase_dimension(CloogDomain * domain, int dimension)
+{ int i, j, mi, nb_dim ;
+  CloogMatrix * matrix ;
+  CloogDomain * erased ;
+  Polyhedron * polyhedron ;
+  polyhedron = cloog_domain_polyhedron (domain) ;
+  nb_dim = cloog_domain_dim (domain);
+  
+  /* The matrix is one column less and at least one constraint less. */
+  matrix = cloog_matrix_alloc(cloog_polyhedron_nbc (polyhedron)-1,nb_dim+1) ;
+  /* mi is the constraint counter for the matrix. */
+  mi = 0 ;
+  for (i=0;i<cloog_polyhedron_nbc (polyhedron);i++)
+    if (value_zero_p(cloog_polyhedron_cval (polyhedron, i, dimension+1)))
+  { for (j=0;j<=dimension;j++)
+      cloog_matrix_element_assign(matrix, mi, j, cloog_polyhedron_cval (polyhedron, i, j)) ;
+    
+    for (j=dimension+2;j<nb_dim+2;j++)
+      cloog_matrix_element_assign(matrix, mi, j-1, cloog_polyhedron_cval (polyhedron, i, j)) ;
+
+    mi ++ ;
+  }
+  
+  erased = cloog_domain_matrix2domain(matrix) ;
+  cloog_matrix_free(matrix) ;
+
+  return erased ;
+}
+
+/* Number of polyhedra inside the union of disjoint polyhedra.  */
+
+unsigned cloog_domain_nb_polyhedra (CloogDomain *domain)
+{
+  unsigned j = 0 ;
+  Polyhedron *polyhedron = cloog_domain_polyhedron (domain);
+
+  while (polyhedron != NULL)
+    {
+      j++ ;
+      polyhedron = polyhedron->next ;
+    }
+  return j;
+}
+
+
+void cloog_domain_print_polyhedra (FILE *foo, CloogDomain *domain)
+{
+  Polyhedron *polyhedron = cloog_domain_polyhedron (domain);
+  while (polyhedron != NULL) 
+    {
+      CloogMatrix * matrix ;
+      matrix = cloog_matrix_matrix(Polyhedron2Constraints(polyhedron));
+      cloog_matrix_print(foo,matrix) ;
+      cloog_matrix_free(matrix) ;
+      polyhedron = polyhedron->next ;
+    }
+}
+
+/**
+ * cloog_domain_scatter function:
+ * This function add the scattering (scheduling) informations in a domain.
+ */
+CloogDomain *cloog_domain_scatter(CloogDomain *domain, CloogScattering *scatt)
+{ int scatt_dim ;
+  CloogDomain *ext, *newdom, *newpart, *temp;
+  
+  newdom = NULL ;
+  scatt_dim = cloog_domain_dim(scatt) - cloog_domain_dim(domain) ;
+  
+  /* For each polyhedron of domain (it can be an union of polyhedra). */
+  while (domain != NULL)
+  { /* Extend the domain by adding the scattering dimensions as the new
+     * first domain dimensions.
+     */
+    ext = cloog_domain_extend(domain,scatt_dim,cloog_domain_dim(domain)) ;
+    /* Then add the scattering constraints. */
+    newpart = cloog_domain_addconstraints(scatt,ext) ;
+    cloog_domain_free(ext) ;
+
+    if (newdom != NULL)
+    { temp = newdom ;
+      newdom = cloog_domain_union(newdom,newpart) ;
+      cloog_domain_free(temp) ;
+      cloog_domain_free(newpart) ;
+    }
+    else
+    newdom = newpart ;
+    
+    /* We don't want to free the rest of the list. */
+    temp = domain ;
+    domain = cloog_domain_cut_first(temp) ;
+    cloog_domain_free(temp) ;
+  }
+  
+  return newdom;
+}
+
diff --git a/source/polylib/matrix.c b/source/polylib/matrix.c
new file mode 100644 (file)
index 0000000..27417e4
--- /dev/null
@@ -0,0 +1,593 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             matrix.c                              **
+    **-------------------------------------------------------------------**
+    **                    First version: april 17th 2005                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2005 Cedric Bastoul                                          *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <ctype.h>
+# include "../../include/cloog/cloog.h"
+#include "matrix.h"
+
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many CloogMatrix structures are allocated
+ * (cloog_matrix_allocated) and how many had been freed (cloog_matrix_freed).
+ * Each time a CloogMatrix structure is allocated, a call to the function
+ * cloog_matrix_leak_up() must be carried out, and respectively
+ * cloog_matrix_leak_down() when a CloogMatrix structure is freed. The special
+ * variable cloog_matrix_max gives the maximal number of CloogMatrix structures
+ * simultaneously alive (i.e. allocated and non-freed) in memory.
+ * - April 17th 2005: first version.
+ */
+
+
+int cloog_matrix_allocated = 0 ;
+int cloog_matrix_freed = 0 ;
+int cloog_matrix_max = 0 ;
+
+
+static void cloog_matrix_leak_up()
+{ cloog_matrix_allocated ++ ;
+  if ((cloog_matrix_allocated-cloog_matrix_freed) > cloog_matrix_max)
+  cloog_matrix_max = cloog_matrix_allocated - cloog_matrix_freed ;
+}
+
+
+static void cloog_matrix_leak_down()
+{ cloog_matrix_freed ++ ;
+}
+
+
+/******************************************************************************
+ *                              PolyLib interface                             *
+ ******************************************************************************/
+
+
+/**
+ * CLooG makes an intensive use of matrix operations and the PolyLib do
+ * the job. Here are the interfaces to all the PolyLib calls (CLooG uses 18
+ * PolyLib functions), with or without some adaptations. If another matrix
+ * library can be used, only these functions have to be changed.
+ */
+
+
+/**
+ * cloog_matrix_print function:
+ * This function prints the content of a CloogMatrix structure (matrix) into a
+ * file (foo, possibly stdout).
+ */
+void cloog_matrix_print(FILE * foo, CloogMatrix * matrix)
+{ Matrix_Print(foo,P_VALUE_FMT,matrix) ;
+}
+
+
+/**
+ * cloog_matrix_free function:
+ * This function frees the allocated memory for a CloogMatrix structure
+ * (matrix).
+ */
+void cloog_matrix_free(CloogMatrix * matrix)
+{ cloog_matrix_leak_down() ;
+  Matrix_Free(matrix) ;
+}
+
+
+/**
+ * cloog_matrix_alloc function:
+ * This function allocates the memory space for a CloogMatrix structure having
+ * nb_rows rows and nb_columns columns, it set its elements to 0.
+ */
+CloogMatrix * cloog_matrix_alloc(unsigned nb_rows, unsigned nb_columns)
+{ cloog_matrix_leak_up() ;
+  return Matrix_Alloc(nb_rows,nb_columns) ;
+}
+
+
+/**
+ * cloog_matrix_matrix function:
+ * This function converts a PolyLib Matrix to a CloogMatrix structure.
+ */
+CloogMatrix * cloog_matrix_matrix(Matrix *matrix)
+{
+  cloog_matrix_leak_up();
+  return matrix;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_print_structure function:
+ * Displays a CloogMatrix structure (matrix) into a file (file, possibly stdout)
+ * in a way that trends to be understandable without falling in a deep
+ * depression or, for the lucky ones, getting a headache... It includes an
+ * indentation level (level) in order to work with others print_structure
+ * functions. Written by Olivier Chorier, Luc Marchaud, Pierre Martin and
+ * Romain Tartiere.
+ * - April 24th 2005: Initial version.
+ * - June   2nd 2005: (Ced) Extraction from cloog_loop_print_structure and
+ *                   integration in matrix.c.
+ * - June  22rd 2005: Adaptation for GMP.
+ */
+void cloog_matrix_print_structure(FILE * file, CloogMatrix * matrix, int level)
+{ int i, j ;
+  
+  /* Display the matrix. */
+  for (i=0; i<matrix->NbRows; i++)
+  { for(j=0; j<=level; j++)
+    fprintf(file,"|\t") ;
+      
+    fprintf(file,"[ ") ;
+      
+    for (j=0; j<matrix->NbColumns; j++)
+      { value_print(file,P_VALUE_FMT,cloog_matrix_element(matrix, i, j)) ;
+      fprintf(file," ") ;
+    }      
+
+    fprintf(file,"]\n") ;
+  }
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_matrix_read function:
+ * Adaptation from the PolyLib. This function reads a matrix into a file (foo,
+ * posibly stdin) and returns a pointer this matrix.
+ * October 18th 2001: first version.
+ * - April 17th 2005: this function moved from domain.c to here.
+ * - June  21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                    CLooG 0.12.1).
+ */
+CloogMatrix * cloog_matrix_read(FILE * foo)
+{ unsigned NbRows, NbColumns ;
+  int i, j, n ;
+  char *c, s[MAX_STRING], str[MAX_STRING] ;
+  CloogMatrix * matrix ;
+  Value * p ;
+  
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %u %u",&NbRows,&NbColumns)<2))
+  fgets(s,MAX_STRING,foo) ;
+  
+  matrix = cloog_matrix_alloc(NbRows,NbColumns) ;
+
+  p = matrix->p_Init ;
+  for (i=0;i<matrix->NbRows;i++) 
+  { do 
+    { c = fgets(s,MAX_STRING,foo) ;
+      while ((c != NULL) && isspace(*c) && (*c != '\n'))
+      c++ ;
+    }
+    while (c != NULL && (*c == '#' || *c == '\n'));
+    
+    if (c == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: not enough rows.\n") ;
+      exit(1) ;
+    }
+    for (j=0;j<matrix->NbColumns;j++) 
+    { if (c == NULL || *c == '#' || *c == '\n')
+      { fprintf(stderr, "[CLooG]ERROR: not enough columns.\n") ;
+        exit(1) ;
+      }
+      /* NdCed : Dans le n ca met strlen(str). */
+      if (sscanf(c,"%s%n",str,&n) == 0) 
+      { fprintf(stderr, "[CLooG]ERROR: not enough rows.\n") ;
+        exit(1) ;
+      }
+      value_read(*(p++),str) ;
+      c += n ;
+    }
+  }
+  
+  return(matrix) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * Function cloog_matrix_normalize:
+ * This function will modify the constraint system in such a way that when
+ * there is an equality depending on the element at level 'level', there are
+ * no more (in)equalities depending on this element. For instance, try
+ * test/valilache.cloog with options -f 8 -l 9, with and without the call
+ * to this function. At a given moment, for the level L we will have
+ * 32*P=L && L>=1 (P is a lower level), this constraint system cannot be
+ * translated directly into a source code. Thus, we normalize the domain to
+ * remove L from the inequalities. In our example, this leads to
+ * 32*P=L && 32*P>=1, that can be transated to the code
+ * if (P>=1) { L=32*P ; ... }. This function solves the DaeGon Kim bug.
+ * WARNING: Remember that if there is another call to Polylib after a call to
+ * this function, we have to recall this function.
+ *  -June    16th 2005: first version (adaptation from URGent June-7th-2005 by
+ *                      N. Vasilache).
+ * - June    21rd 2005: Adaptation for GMP.
+ * - November 4th 2005: Complete rewriting, simpler and faster. It is no more an
+ *                      adaptation from URGent. 
+ */
+void cloog_matrix_normalize(CloogMatrix * matrix, int level)
+{ int ref, i, j ;
+  Value factor_i, factor_ref, temp_i, temp_ref, gcd ;
+    
+  if (matrix == NULL)
+  return ;
+
+  /* Don't "normalize" the constant term. */
+  if (level == matrix->NbColumns-1)
+    return;
+
+  /* Let us find an equality for the current level that can be propagated. */
+  for (ref=0;ref<matrix->NbRows;ref++)
+    if (value_zero_p(cloog_matrix_element(matrix, ref, 0))
+       && value_notzero_p(cloog_matrix_element(matrix, ref, level)))
+  { value_init_c(gcd) ;
+    value_init_c(temp_i) ;
+    value_init_c(temp_ref) ;
+    value_init_c(factor_i) ;
+    value_init_c(factor_ref) ;
+  
+    /* Row "ref" is the reference equality, now let us find a row to simplify.*/
+    for (i=ref+1;i<matrix->NbRows;i++)
+      if (value_notzero_p(cloog_matrix_element(matrix, i, level)))
+    { /* Now let us set to 0 the "level" coefficient of row "j" using "ref".
+       * First we compute the factors to apply to each row vector element.
+       */
+      Gcd(cloog_matrix_element(matrix, ref, level),
+         cloog_matrix_element(matrix, i, level), &gcd) ;
+      value_division(factor_i,cloog_matrix_element(matrix, ref, level),gcd) ;
+      value_division(factor_ref,cloog_matrix_element(matrix, i, level),gcd) ;
+      
+      /* Maybe we are simplifying an inequality: factor_i must not be <0. */
+      if (value_neg_p(factor_i))
+      { value_absolute(factor_i,factor_i) ;
+        value_oppose(factor_ref,factor_ref) ;
+      }
+      
+      /* Now update the vector. */
+      for (j=1;j<matrix->NbColumns;j++)
+       { value_multiply(temp_i,factor_i,cloog_matrix_element(matrix, i, j)) ;
+         value_multiply(temp_ref,factor_ref,cloog_matrix_element(matrix, ref, j)) ;
+         cloog_matrix_element_substract(matrix, i, j, temp_i, temp_ref) ;
+      }
+    
+      /* Normalize (divide by GCD of all elements) the updated vector. */
+      Vector_Normalize(&(matrix->p[i][1]),matrix->NbColumns-1) ;
+    }
+    
+    value_clear_c(gcd) ;
+    value_clear_c(temp_i) ;
+    value_clear_c(temp_ref) ;
+    value_clear_c(factor_i) ;
+    value_clear_c(factor_ref) ;
+    break ;
+  }
+}
+
+
+/**
+ * cloog_matrix_equality_update function:
+ * this function updates a matrix of equalities where each row corresponds to
+ * the equality "=0" of an affine expression such that the entry at column
+ * "row" (="level") is not zero. This matrix is upper-triangular, except the
+ * row number "level-1" which has to be updated for the matrix to be triangular.
+ * The first element of each row gives the equality type and is not related to
+ * the expression which is equal to zero. This function achieves the processing.
+ * - equal is the matrix to be updated,
+ * - level gives the row that has to be updated (it is actually row "level-1"),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - September 20th 2005: first version.
+ */
+void cloog_matrix_equality_update(CloogMatrix * equal, int level, int nb_par)
+{ int i, j ;
+  Value gcd, factor_level, factor_outer, temp_level, temp_outer ;
+  
+  value_init_c(gcd) ;
+  value_init_c(temp_level) ;
+  value_init_c(temp_outer) ;
+  value_init_c(factor_level) ;
+  value_init_c(factor_outer) ;
+  
+  /* For each previous level, */
+  for (i=level-2;i>=0;i--)
+  { /* if the corresponding iterator is inside the current equality and is equal
+     * to something,
+     */
+    if (value_notzero_p(cloog_matrix_element(equal, level-1, i+1)) &&
+        value_notzero_p(cloog_matrix_element(equal, i, 0)))
+    { /* Compute the Greatest Common Divisor. */ 
+      Gcd(cloog_matrix_element(equal, level-1, i+1),cloog_matrix_element(equal, i, i+1),&gcd) ;
+      
+      /* Compute the factors to apply to each row vector element. */
+      value_division(factor_level,cloog_matrix_element(equal, i, i+1),gcd) ;
+      value_division(factor_outer,cloog_matrix_element(equal, level-1, i+1),gcd) ;
+            
+      /* Now update the row 'level'. */
+      /* - the iterators, up to level, */
+      for (j=1;j<=level;j++)
+       { value_multiply(temp_level,factor_level,cloog_matrix_element(equal, level-1, j)) ;
+         value_multiply(temp_outer,factor_outer,cloog_matrix_element(equal, i, j)) ;
+         cloog_matrix_element_substract(equal, level-1, j, temp_level, temp_outer) ;
+      }
+      /* - between last useful iterator (level) and the first parameter, the
+       *   matrix is sparse (full of zeroes), we just do nothing there. 
+       * - the parameters and the scalar.
+       */
+      for (j=0;j<nb_par+1;j++)
+      { value_multiply(temp_level,factor_level,
+                       cloog_matrix_element(equal, level-1, equal->NbColumns-j-1)) ;
+        value_multiply(temp_outer,factor_outer,
+                       cloog_matrix_element(equal, i, equal->NbColumns-j-1)) ;
+        cloog_matrix_element_substract(equal, level-1, equal->NbColumns-j-1,
+                                      temp_level, temp_outer) ;
+      }
+    }
+  }
+  
+  /* Normalize (divide by GCD of all elements) the updated equality. */
+  Vector_Normalize(&(equal->p[level-1][1]),equal->NbColumns-1) ;
+
+  value_clear_c(gcd) ;
+  value_clear_c(temp_level) ;
+  value_clear_c(temp_outer) ;
+  value_clear_c(factor_level) ;
+  value_clear_c(factor_outer) ;
+}
+
+
+/**
+ * cloog_matrix_copy function:
+ * this functions builds and returns a "hard copy" (not a pointer copy) of a
+ * CloogMatrix data structure.
+ * - October 26th 2005: first version.
+ */
+CloogMatrix * cloog_matrix_copy(CloogMatrix * matrix)
+{ int i, j ;
+  CloogMatrix * copy ;
+
+  copy = cloog_matrix_alloc(matrix->NbRows,matrix->NbColumns) ;
+  
+  for (i=0;i<matrix->NbRows;i++)
+    for (j=0;j<matrix->NbColumns;j++)
+      cloog_matrix_element_assign(copy, i, j, cloog_matrix_element(matrix, i, j)) ;
+  
+  return copy ;
+}
+
+
+/**
+ * cloog_matrix_vector_copy function:
+ * this function rutuns a hard copy of the vector "vector" of length "length"
+ * provided as input.
+ * - November 3rd 2005: first version.
+ */
+Value * cloog_matrix_vector_copy(Value * vector, int length)
+{ int i ;
+  Value * copy ;
+  
+  /* We allocate the memory space for the new vector, and we fill it with
+   * the original coefficients.
+   */
+  copy = (Value *)malloc(length * sizeof(Value)) ;
+  for (i=0;i<length;i++)
+  { value_init_c(copy[i]) ;
+    value_assign(copy[i],vector[i]) ;
+  }
+  
+  return copy ;
+}
+
+
+/**
+ * cloog_matrix_vector_simplify function:
+ * this function simplify an affine expression with its coefficients in
+ * "vector" of length "length" thanks to an equality matrix "equal" that gives
+ * for some elements of the affine expression an equality with other elements,
+ * preferably constants. For instance, if the vector contains i+j+3 and the
+ * equality matrix gives i=n and j=2, the vector is simplified to n+3 and is
+ * returned in a new vector.
+ * - vector is the array of affine expression coefficients
+ * - equal is the matrix of equalities,
+ * - length is the vector length,
+ * - level is a level we don't want to simplify (-1 if none),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - September 20th 2005: first version.
+ * - November   2nd 2005: (debug) we are simplifying inequalities, thus we are
+ *                        not allowed to multiply the vector by a negative
+ *                        constant.Problem found after a report of Michael
+ *                        Classen.
+ */
+Value * cloog_matrix_vector_simplify(vector, equal, length, level, nb_par)
+Value * vector ;
+CloogMatrix * equal ;
+int length, level, nb_par ;
+{ int i, j ;
+  Value gcd, factor_vector, factor_equal, temp_vector, temp_equal, * simplified;
+  
+  simplified = cloog_matrix_vector_copy(vector,length) ;
+  
+  value_init_c(gcd) ;
+  value_init_c(temp_vector) ;
+  value_init_c(temp_equal) ;
+  value_init_c(factor_vector) ;
+  value_init_c(factor_equal) ;
+    
+  /* For each non-null coefficient in the vector, */
+  for (i=length-nb_par-2;i>0;i--)
+  if (i != level)
+  { /* if the coefficient in not null, and there exists a useful equality */
+    if ((value_notzero_p(simplified[i])) &&
+        (value_notzero_p(cloog_matrix_element(equal, i-1, 0))))
+    { /* Compute the Greatest Common Divisor. */ 
+      Gcd(simplified[i],cloog_matrix_element(equal, i-1, i),&gcd) ;
+      
+      /* Compute the factors to apply to each row vector element. */
+      value_division(factor_vector,cloog_matrix_element(equal, i-1, i),gcd) ;
+      value_division(factor_equal,simplified[i],gcd) ;
+      
+      /* We are simplifying an inequality: factor_vector must not be <0. */
+      if (value_neg_p(factor_vector))
+      { value_absolute(factor_vector,factor_vector) ;
+        value_oppose(factor_equal,factor_equal) ;
+      }
+      
+      /* Now update the vector. */
+      /* - the iterators, up to the current level, */
+      for (j=1;j<=length-nb_par-2;j++)
+      { value_multiply(temp_vector,factor_vector,simplified[j]) ;
+        value_multiply(temp_equal,factor_equal,cloog_matrix_element(equal, i-1, j)) ;
+        value_substract(simplified[j],temp_vector,temp_equal) ;
+      }
+      /* - between last useful iterator (i) and the first parameter, the equal
+       *   matrix is sparse (full of zeroes), we just do nothing there. 
+       * - the parameters and the scalar.
+       */
+      for (j=0;j<nb_par+1;j++)
+      { value_multiply(temp_vector,factor_vector,simplified[length-1-j]) ;
+        value_multiply(temp_equal,factor_equal,
+                       cloog_matrix_element(equal, i-1, equal->NbColumns-j-1)) ;
+        value_substract(simplified[length-1-j],temp_vector,temp_equal) ;
+      }
+    }
+  }
+  
+  /* Normalize (divide by GCD of all elements) the updated vector. */
+  Vector_Normalize(&(simplified[1]),length-1) ;
+
+  value_clear_c(gcd) ;
+  value_clear_c(temp_vector) ;
+  value_clear_c(temp_equal) ;
+  value_clear_c(factor_vector) ;
+  value_clear_c(factor_equal) ;
+  
+  return simplified ;
+}
+
+
+/**
+ * cloog_matrix_simplify function:
+ * this function simplify all constraints inside the matrix "matrix" thanks to
+ * an equality matrix "equal" that gives for some elements of the affine
+ * constraint an equality with other elements, preferably constants.
+ * For instance, if a row of the matrix contains i+j+3>=0 and the equality
+ * matrix gives i=n and j=2, the constraint is simplified to n+3>=0. The
+ * simplified constraints are returned back inside a new simplified matrix.
+ * - matrix is the set of constraints to simplify,
+ * - equal is the matrix of equalities,
+ * - level is a level we don't want to simplify (-1 if none),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - November 4th 2005: first version.
+ */
+CloogMatrix * cloog_matrix_simplify(matrix, equal, level, nb_par)
+CloogMatrix * matrix, * equal ;
+int level, nb_par ;
+{ int i, j, k ;
+  Value * vector ;
+  CloogMatrix * simplified ;
+  
+  if (matrix == NULL)
+  return NULL ;
+  
+  /* The simplified matrix is such that each row has been simplified thanks
+   * to the "equal" matrix. We allocate the memory for the simplified matrix,
+   * then for each row of the original matrix, we compute the simplified
+   * vector and we copy its content into the according simplified row.
+   */
+  simplified = cloog_matrix_alloc(matrix->NbRows,matrix->NbColumns) ;
+  for (i=0;i<matrix->NbRows;i++)
+  { vector = cloog_matrix_vector_simplify(matrix->p[i],equal,matrix->NbColumns,
+                                          level,nb_par) ;
+    for (j=0;j<matrix->NbColumns;j++)
+    value_assign(simplified->p[i][j],vector[j]) ;
+    
+    cloog_matrix_vector_free(vector,matrix->NbColumns) ;
+  }
+  
+  /* After simplification, it may happen that few constraints are the same,
+   * we remove them here by replacing them with 0=0 constraints.
+   */
+  for (i=0;i<simplified->NbRows;i++)
+  for (j=i+1;j<simplified->NbRows;j++)
+  { for (k=0;k<simplified->NbColumns;k++)
+    if (value_ne(simplified->p[i][k],simplified->p[j][k]))
+    break ;
+    
+    if (k == matrix->NbColumns)
+    { for (k=0;k<matrix->NbColumns;k++)
+      value_set_si(simplified->p[j][k],0) ;
+    }
+  }
+  
+  return simplified ;
+}
+
+
+/**
+ * cloog_matrix_vector_free function:
+ * this function clears the elements of a vector "vector" of length "length",
+ * then frees the vector itself this is useful for the GMP version of CLooG
+ * which has to clear all elements.
+ * - October 29th 2005: first version.
+ */
+void cloog_matrix_vector_free(Value * vector, int length)
+{ int i ;
+  
+  for (i=0;i<length;i++)
+  value_clear_c(vector[i]) ;
+  free(vector) ;
+}
diff --git a/source/polylib/matrix.h b/source/polylib/matrix.h
new file mode 100644 (file)
index 0000000..92f4ff9
--- /dev/null
@@ -0,0 +1,128 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             matrix.h                              **
+    **-------------------------------------------------------------------**
+    **                    First version: april 17th 2005                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2005 Cedric Bastoul                                          *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+
+#ifndef CLOOG_MATRIX_H
+#define CLOOG_MATRIX_H
+#if defined(__cplusplus)
+extern "C" 
+  {
+#endif 
+
+
+/* The Matrix structure comes directly from PolyLib (defined in polylib/types.h)
+ * here is how it looks like (at least in PolyLib 5.20.0 version).
+ *
+ * typedef struct matrix {
+ *  unsigned NbRows;    // The number of rows (= NbConstraints in Polyhedron).
+ *  unsigned NbColumns; // The number of columns (= Dimension+2 in Polyhedron).
+ *  Value **p;          // An array of pointers to the beginning of each row.
+ *  Value *p_Init;      // The matrix is stored here, contiguously in memory.
+ *  int p_Init_size;    // Needed to free the memory allocated by mpz_init.
+ *  Matrix;
+ */
+
+typedef Matrix CloogMatrix;
+
+static inline Value
+cloog_matrix_element (CloogMatrix *m, int row, int col)
+{
+  return m->p[row][col];
+}
+
+static inline void
+cloog_matrix_element_assign (CloogMatrix *m, int row, int col, Value val)
+{
+  value_assign (m->p[row][col], val);
+}
+
+static inline void
+cloog_matrix_element_increment (CloogMatrix *m, int row, int col, Value val)
+{
+  value_increment (m->p[row][col], val);
+}
+
+static inline void
+cloog_matrix_element_decrement (CloogMatrix *m, int row, int col, Value val)
+{
+  value_decrement (m->p[row][col], val);
+}
+
+static inline void
+cloog_matrix_element_substract (CloogMatrix *m, int row, int col, Value val1, Value val2)
+{
+  value_substract (m->p[row][col], val1, val2);
+}
+
+static inline void
+cloog_matrix_element_set_si (CloogMatrix *m, int row, int col, int val)
+{
+  value_set_si (m->p[row][col], val);
+}
+
+/******************************************************************************
+ *                              PolyLib interface                             *
+ ******************************************************************************/
+void          cloog_matrix_print(FILE *, CloogMatrix *) ;
+void          cloog_matrix_free(CloogMatrix *) ;
+CloogMatrix * cloog_matrix_alloc(unsigned, unsigned) ;
+CloogMatrix * cloog_matrix_matrix(Matrix *);
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+void          cloog_matrix_print_structure(FILE *, CloogMatrix *, int) ;
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+CloogMatrix * cloog_matrix_read(FILE *) ;
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+void          cloog_matrix_normalize(CloogMatrix *, int) ;
+void          cloog_matrix_equality_update(CloogMatrix *, int, int) ;
+CloogMatrix * cloog_matrix_copy(CloogMatrix *) ;
+Value       * cloog_matrix_vector_copy(Value *, int) ;
+Value       * cloog_matrix_vector_simplify(Value*, CloogMatrix*, int, int, int);
+CloogMatrix * cloog_matrix_simplify(CloogMatrix *, CloogMatrix *, int, int) ;
+void          cloog_matrix_vector_free(Value *, int) ;
+
+#if defined(__cplusplus)
+  }
+#endif 
+#endif /* define _H */
diff --git a/source/ppl/checking.c b/source/ppl/checking.c
new file mode 100644 (file)
index 0000000..5ff58c0
--- /dev/null
@@ -0,0 +1,271 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             checking.c                            **
+    **-------------------------------------------------------------------**
+    **                   First version: July 22th 2008                   **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2008 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+static int cloog_check_polyhedral_ops = 1;
+static int cloog_return_ppl_result = 0;
+
+
+CloogDomain *
+cloog_domain_image (CloogDomain * domain, CloogMatrix * mapping)
+{
+  Polyhedron *p = d2p (domain);
+  CloogDomain *res =
+    cloog_check_domain (cloog_domain_alloc
+                       (DomainImage (p, mapping, MAX_RAYS)));
+  Polyhedron_Free (p);
+  return print_result ("cloog_domain_image", res);
+}
+
+CloogDomain *
+cloog_domain_preimage (CloogDomain * domain, CloogMatrix * mapping)
+{
+  Polyhedron *p = d2p (domain);
+  CloogDomain *res =
+    cloog_check_domain (cloog_domain_alloc
+                       (DomainPreimage (p, mapping, MAX_RAYS)));
+  Polyhedron_Free (p);
+  return print_result ("cloog_domain_preimage", res);
+}
+
+CloogDomain *
+cloog_domain_project_1 (CloogDomain * domain, int level, int nb_par)
+{
+  int row, column, nb_rows, nb_columns, difference;
+  CloogDomain *projected_domain;
+  CloogMatrix *matrix;
+
+  nb_rows = level + nb_par + 1;
+  nb_columns = cloog_domain_dim (domain) + 1;
+  difference = nb_columns - nb_rows;
+
+  if (difference == 0)
+    return print_result ("cloog_domain_project", cloog_domain_copy (domain));
+
+  matrix = cloog_matrix_alloc (nb_rows, nb_columns);
+
+  for (row = 0; row < level; row++)
+    for (column = 0; column < nb_columns; column++)
+      value_set_si (matrix->p[row][column], (row == column ? 1 : 0));
+
+  for (; row < nb_rows; row++)
+    for (column = 0; column < nb_columns; column++)
+      value_set_si (matrix->p[row][column],
+                   (row + difference == column ? 1 : 0));
+
+  projected_domain = cloog_domain_image (domain, matrix);
+  cloog_matrix_free (matrix);
+
+  return print_result ("cloog_domain_project_1", cloog_check_domain (projected_domain));
+}
+
+CloogDomain *
+cloog_domain_addconstraints_1 (domain_source, domain_target)
+     CloogDomain *domain_source, *domain_target;
+{
+  unsigned nb_constraint;
+  Value *constraints;
+  ppl_polyhedra_union *source, *target, *new, *next, *last;
+
+  source = cloog_domain_upol (domain_source);
+  target = cloog_domain_upol (domain_target);
+
+  constraints = cloog_upol_polyhedron (source)->p_Init;
+  nb_constraint = cloog_upol_nbc (source);
+  last = new = cloog_new_upol (AddConstraints (constraints, nb_constraint,
+                                              u2p (target), MAX_RAYS));
+  source = cloog_upol_next (source);
+  next = cloog_upol_next (target);
+
+  while (next)
+    {                          /* BUG !!! This is actually a bug. I don't know yet how to cleanly avoid
+                                * the situation where source and target do not have the same number of
+                                * elements. So this 'if' is an awful trick, waiting for better.
+                                */
+      if (source)
+       {
+         constraints = cloog_upol_polyhedron (source)->p_Init;
+         nb_constraint = cloog_upol_nbc (source);
+         source = cloog_upol_next (source);
+       }
+      cloog_upol_set_next 
+       (last, cloog_new_upol (AddConstraints (constraints, nb_constraint,
+                                              u2p (next), MAX_RAYS)));
+      last = cloog_upol_next (last);
+      next = cloog_upol_next (next);
+    }
+
+  return print_result ("cloog_domain_addconstraints", cloog_check_domain (cloog_new_domain (new)));
+}
+
+CloogDomain *
+cloog_domain_extend_1 (CloogDomain * domain, int dim, int nb_par)
+{
+  int row, column, nb_rows, nb_columns, difference;
+  CloogDomain *extended_domain;
+  CloogMatrix *matrix;
+
+  nb_rows = 1 + cloog_domain_dim (domain);
+  nb_columns = dim + nb_par + 1;
+  difference = nb_columns - nb_rows;
+
+  if (difference == 0)
+    return print_result ("cloog_domain_extend_1", cloog_domain_copy (domain));
+
+  matrix = cloog_matrix_alloc (nb_rows, nb_columns);
+
+  for (row = 0; row < cloog_domain_dim (domain) - nb_par; row++)
+    for (column = 0; column < nb_columns; column++)
+      value_set_si (matrix->p[row][column], (row == column ? 1 : 0));
+
+  for (; row <= cloog_domain_dim (domain); row++)
+    for (column = 0; column < nb_columns; column++)
+      value_set_si (matrix->p[row][column],
+                   (row + difference == column ? 1 : 0));
+
+  extended_domain = cloog_domain_preimage (domain, matrix);
+  cloog_matrix_free (matrix);
+
+  return print_result ("cloog_domain_extend_1", cloog_check_domain (extended_domain));
+}
+
+CloogDomain *
+cloog_domain_convex_1 (CloogDomain * domain)
+{
+  Polyhedron *p = d2p (domain);
+  CloogDomain *res =
+    cloog_check_domain (cloog_domain_alloc
+                       (DomainConvex (p, MAX_RAYS)));
+  Polyhedron_Free (p);
+  return print_result ("cloog_domain_convex_1", res);
+}
+
+CloogDomain *
+cloog_domain_simplify_1 (CloogDomain * dom1, CloogDomain * dom2)
+{
+  CloogMatrix *M, *M2;
+  CloogDomain *dom;
+  Polyhedron *p1 = d2p (dom1);
+  Polyhedron *p2 = d2p (dom2);
+  int nbc = cloog_domain_nbconstraints (dom1);
+
+  /* DomainSimplify doesn't remove all redundant equalities,
+   * so we remove them here first in case both dom1 and dom2
+   * are single polyhedra (i.e., not unions of polyhedra).
+   */
+  if (cloog_domain_isconvex (dom1) && cloog_domain_isconvex (dom2)
+      && cloog_domain_nbeq (dom1) && cloog_domain_nbeq (dom2))
+    {
+      int i, row;
+      int rows = cloog_domain_nbeq (dom1) + cloog_domain_nbeq (dom2);
+      int cols = cloog_domain_dim (dom1) + 2;
+      int rank;
+      M = cloog_matrix_alloc (rows, cols);
+      M2 = cloog_matrix_alloc (nbc, cols);
+      Vector_Copy (cloog_domain_polyhedron (dom2)->Constraint[0],
+                  M->p[0], cloog_domain_nbeq (dom2) * cols);
+      rank = cloog_domain_nbeq (dom2);
+      row = 0;
+      for (i = 0; i < cloog_domain_nbeq (dom1); ++i)
+       {
+         Vector_Copy (p1->Constraint[i], M->p[rank], cols);
+         if (Gauss (M, rank + 1, cols - 1) > rank)
+           {
+             Vector_Copy (p1->Constraint[i], M2->p[row++], cols);
+             rank++;
+           }
+       }
+      if (row < cloog_domain_nbeq (dom1))
+       {
+         Vector_Copy (p1->Constraint[cloog_domain_nbeq (dom1)],
+                      M2->p[row], (nbc - cloog_domain_nbeq (dom1)) * cols);
+         p1 = Constraints2Polyhedron (M2, MAX_RAYS);
+       }
+      cloog_matrix_free (M2);
+      cloog_matrix_free (M);
+    }
+
+  dom = cloog_domain_alloc (DomainSimplify (p1, p2, MAX_RAYS));
+  Polyhedron_Free (p1);
+  Polyhedron_Free (p2);
+  return print_result ("cloog_domain_simplify", cloog_check_domain (dom));
+}
+
+/**
+ * cloog_domain_difference function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the difference of two polyhedral domains domain \ minus
+ * inside two CloogDomain structures.
+ * - November 8th 2001: first version.
+ */
+
+CloogDomain *
+cloog_domain_difference_1 (CloogDomain * domain, CloogDomain * minus)
+{
+  if (cloog_domain_isempty (minus))
+    return print_result ("cloog_domain_difference", cloog_domain_copy (domain));
+  else
+    {
+      Polyhedron *p1 = d2p (domain);
+      Polyhedron *p2 = d2p (minus);
+      CloogDomain *res = cloog_domain_alloc (DomainDifference (p1, p2, MAX_RAYS));
+      Polyhedron_Free (p1);
+      Polyhedron_Free (p2);
+      return print_result ("cloog_domain_difference", res);
+    }
+}
+
+static CloogDomain *
+cloog_check_domains (CloogDomain *ppl, CloogDomain *polylib)
+{
+  /* Cannot use cloog_domain_lazy_equal (polylib, ppl) here as this
+     function is too dumb: it does not detect permutations of
+     constraints.  */
+  if (!cloog_domain_isempty (cloog_domain_difference (ppl, polylib))
+      || !cloog_domain_isempty (cloog_domain_difference (polylib, ppl)))
+    {
+      fprintf (stderr, "different domains ( \n ppl (\n");
+      cloog_domain_print (stderr, ppl);
+      fprintf (stderr, ") \n polylib (\n");
+      cloog_domain_print (stderr, polylib);
+      fprintf (stderr, "))\n");
+      exit (1);
+    }
+
+  if (cloog_return_ppl_result)
+    return ppl;
+  else
+    return polylib;
+}
+
diff --git a/source/ppl/clast.c b/source/ppl/clast.c
new file mode 100644 (file)
index 0000000..767ab64
--- /dev/null
@@ -0,0 +1,1516 @@
+#include <stdlib.h>
+#include <assert.h>
+#include "cloog/cloog.h"
+
+#define ALLOC(type) (type*)malloc(sizeof(type))
+#define ALLOCN(type,n) (type*)malloc((n)*sizeof(type))
+
+/**
+ * CloogInfos structure:
+ * this structure contains all the informations necessary for pretty printing,
+ * they come from the original CloogProgram structure (language, names), from
+ * genereral options (options) or are built only for pretty printing (stride).
+ * This structure is mainly there to reduce the number of function parameters,
+ * since most pprint.c functions need most of its field.
+ */
+struct clooginfos
+{ Value * stride ;           /**< The stride for each iterator. */
+  int  nb_scattdims ;        /**< Scattering dimension number. */
+  int * scaldims ;           /**< Boolean array saying whether a given
+                              *   scattering dimension is scalar or not.
+                              */
+  CloogNames * names ;       /**< Names of iterators and parameters. */
+  CloogOptions * options ;   /**< Options on CLooG's behaviour. */
+  CloogMatrix *equal;        /**< Matrix of equalities. */
+} ;
+
+typedef struct clooginfos CloogInfos ;
+
+struct clast_term *new_clast_term(Value c, const char *v)
+{
+    struct clast_term *t = (struct clast_term *) malloc(sizeof(struct clast_term));
+    t->expr.type = expr_term;
+    value_init(t->val);
+    value_assign(t->val, c);
+    t->var = v;
+    return t;
+}
+
+struct clast_binary *new_clast_binary(enum clast_bin_type t, 
+                                     struct clast_expr *lhs, Value rhs)
+{
+    struct clast_binary *b = (struct clast_binary *) malloc(sizeof(struct clast_binary));
+    b->expr.type = expr_bin;
+    b->type = t;
+    b->LHS = lhs;
+    value_init(b->RHS);
+    value_assign(b->RHS, rhs);
+    return b;
+}
+
+struct clast_reduction *new_clast_reduction(enum clast_red_type t, int n)
+{
+    int i;
+    struct clast_reduction *r;
+    r = (struct clast_reduction *) malloc(sizeof(struct clast_reduction)+(n-1)*sizeof(struct clast_expr *));
+    r->expr.type = expr_red;
+    r->type = t;
+    r->n = n;
+    for (i = 0; i < n; ++i)
+       r->elts[i] = NULL;
+    return r;
+}
+
+static void free_clast_root(struct clast_stmt *s)
+{
+    struct clast_root *r = (struct clast_root *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_root));
+    cloog_names_free(r->names);
+    free(r);
+}
+
+struct clast_stmt_op stmt_root = { free_clast_root };
+
+struct clast_root *new_clast_root(CloogNames *names)
+{
+    struct clast_root *r = (struct clast_root *) malloc(sizeof(struct clast_root));
+    r->stmt.op = &stmt_root;
+    r->stmt.next = NULL;
+    r->names = cloog_names_copy(names);
+    return r;
+}
+
+static void free_clast_assignment(struct clast_stmt *s);
+
+struct clast_stmt_op stmt_ass = { free_clast_assignment };
+
+static void free_clast_assignment(struct clast_stmt *s)
+{
+    struct clast_assignment *a = (struct clast_assignment *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_ass));
+    free_clast_expr(a->RHS);
+    free(a);
+}
+
+struct clast_assignment *new_clast_assignment(const char *lhs,
+                                             struct clast_expr *rhs)
+{
+    struct clast_assignment *a = (struct clast_assignment *) malloc(sizeof(struct clast_assignment));
+    a->stmt.op = &stmt_ass;
+    a->stmt.next = NULL;
+    a->LHS = lhs;
+    a->RHS = rhs;
+    return a;
+}
+
+static void free_clast_user_stmt(struct clast_stmt *s);
+
+struct clast_stmt_op stmt_user = { free_clast_user_stmt };
+
+static void free_clast_user_stmt(struct clast_stmt *s)
+{
+    struct clast_user_stmt *u = (struct clast_user_stmt *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_user));
+    cloog_clast_free(u->substitutions);
+    free(u);
+}
+
+struct clast_user_stmt *new_clast_user_stmt(CloogStatement *stmt, 
+                                           struct clast_stmt *subs)
+{
+    struct clast_user_stmt *u = (struct clast_user_stmt *) malloc(sizeof(struct clast_user_stmt));
+    u->stmt.op = &stmt_user;
+    u->stmt.next = NULL;
+    u->statement = stmt;
+    u->substitutions = subs;
+    return u;
+}
+
+static void free_clast_block(struct clast_stmt *s)
+{
+    struct clast_block *b = (struct clast_block *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_block));
+    cloog_clast_free(b->body);
+    free(b);
+}
+
+struct clast_stmt_op stmt_block = { free_clast_block };
+
+struct clast_block *new_clast_block (void)
+{
+    struct clast_block *b = (struct clast_block *) malloc(sizeof(struct clast_block));
+    b->stmt.op = &stmt_block;
+    b->stmt.next = NULL;
+    b->body = NULL;
+    return b;
+}
+
+static void free_clast_for(struct clast_stmt *s)
+{
+    struct clast_for *f = (struct clast_for *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_for));
+    free_clast_expr(f->LB);
+    free_clast_expr(f->UB);
+    value_clear(f->stride);
+    cloog_clast_free(f->body);
+    free(f);
+}
+
+struct clast_stmt_op stmt_for = { free_clast_for };
+
+struct clast_for *new_clast_for(const char *it, struct clast_expr *LB, 
+                               struct clast_expr *UB, Value stride)
+{
+    struct clast_for *f = (struct clast_for *) malloc(sizeof(struct clast_for));
+    f->stmt.op = &stmt_for;
+    f->stmt.next = NULL;
+    f->iterator = it;
+    f->LB = LB;
+    f->UB = UB;
+    f->body = NULL;
+    value_init(f->stride);
+    value_assign(f->stride, stride);
+    return f;
+}
+
+static void free_clast_guard(struct clast_stmt *s)
+{
+    int i;
+    struct clast_guard *g = (struct clast_guard *)s;
+    assert(CLAST_STMT_IS_A(s, stmt_guard));
+    cloog_clast_free(g->then);
+    for (i = 0; i < g->n; ++i) {
+       free_clast_expr(g->eq[i].LHS);
+       free_clast_expr(g->eq[i].RHS);
+    }
+    free(g);
+}
+
+struct clast_stmt_op stmt_guard = { free_clast_guard };
+
+struct clast_guard *new_clast_guard(int n)
+{
+    int i;
+    struct clast_guard *g = (struct clast_guard *)
+      malloc(sizeof(struct clast_guard) + (n-1) * sizeof(struct clast_equation));
+    g->stmt.op = &stmt_guard;
+    g->stmt.next = NULL;
+    g->then = NULL;
+    g->n = n;
+    for (i = 0; i < n; ++i) {
+       g->eq[i].LHS = NULL;
+       g->eq[i].RHS = NULL;
+    }
+    return g;
+}
+
+void free_clast_term(struct clast_term *t)
+{
+    value_clear(t->val);
+    free(t);
+}
+
+void free_clast_binary(struct clast_binary *b)
+{
+    value_clear(b->RHS);
+    free_clast_expr(b->LHS);
+    free(b);
+}
+
+void free_clast_reduction(struct clast_reduction *r)
+{
+    int i;
+    for (i = 0; i < r->n; ++i)
+       free_clast_expr(r->elts[i]);
+    free(r);
+}
+
+void free_clast_expr(struct clast_expr *e)
+{
+    if (!e)
+       return;
+    switch (e->type) {
+    case expr_term:
+       free_clast_term((struct clast_term*) e);
+       break;
+    case expr_red:
+       free_clast_reduction((struct clast_reduction*) e);
+       break;
+    case expr_bin:
+       free_clast_binary((struct clast_binary*) e);
+       break;
+    default:
+       assert(0);
+    }
+}
+
+void free_clast_stmt(struct clast_stmt *s)
+{
+    assert(s->op);
+    assert(s->op->free);
+    s->op->free(s);
+}
+
+void cloog_clast_free(struct clast_stmt *s)
+{
+    struct clast_stmt *next;
+    while (s) {
+       next = s->next;
+       free_clast_stmt(s);
+       s = next;
+    }
+}
+
+static int clast_term_equal(struct clast_term *t1, struct clast_term *t2)
+{
+    if (t1->var != t2->var)
+       return 0;
+    return value_eq(t1->val, t2->val);
+}
+
+static int clast_binary_equal(struct clast_binary *b1, struct clast_binary *b2)
+{
+    if (b1->type != b2->type)
+       return 0;
+    if (value_ne(b1->RHS, b2->RHS))
+       return 0;
+    return clast_expr_equal(b1->LHS, b2->LHS);
+}
+
+static int clast_reduction_equal(struct clast_reduction *r1, struct clast_reduction *r2)
+{
+    int i;
+    if (r1->type == clast_red_max && r2->type == clast_red_min && 
+           r1->n == 1 && r2->n == 1)
+       return clast_expr_equal(r1->elts[0], r2->elts[0]);
+    if (r1->type != r2->type)
+       return 0;
+    if (r1->n != r2->n)
+       return 0;
+    for (i = 0; i < r1->n; ++i)
+       if (!clast_expr_equal(r1->elts[i], r2->elts[i]))
+           return 0;
+    return 1;
+}
+
+int clast_expr_equal(struct clast_expr *e1, struct clast_expr *e2)
+{
+    if (!e1 && !e2)
+       return 1;
+    if (!e1 || !e2)
+       return 0;
+    if (e1->type != e2->type)
+       return 0;
+    switch (e1->type) {
+    case expr_term:
+       return clast_term_equal((struct clast_term*) e1, 
+                               (struct clast_term*) e2);
+    case expr_bin:
+       return clast_binary_equal((struct clast_binary*) e1, 
+                                 (struct clast_binary*) e2);
+    case expr_red:
+       return clast_reduction_equal((struct clast_reduction*) e1, 
+                                    (struct clast_reduction*) e2);
+    default:
+       assert(0);
+    }
+}
+
+
+/******************************************************************************
+ *                        Equalities spreading functions                      *
+ ******************************************************************************/
+
+
+/* Equalities are stored inside a CloogMatrix data structure called "equal".
+ * This matrix has (nb_scattering + nb_iterators + 1) rows (i.e. total
+ * dimensions + 1, the "+ 1" is because a statement can be included inside an
+ * external loop without iteration domain), and (nb_scattering + nb_iterators +
+ * nb_parameters + 2) columns (all unknowns plus the scalar plus the equality
+ * type). The ith row corresponds to the equality "= 0" for the ith dimension
+ * iterator. The first column gives the equality type (0: no equality, then
+ * EQTYPE_* -see pprint.h-). At each recursion of pprint, if an equality for
+ * the current level is found, the corresponding row is updated. Then the
+ * equality if it exists is used to simplify expressions (e.g. if we have 
+ * "i+1" while we know that "i=2", we simplify it in "3"). At the end of
+ * the pprint call, the corresponding row is reset to zero.
+ */
+
+
+/**
+ * clast_equal_type function :
+ * This function returns the type of the equality in the constraint (line) of
+ * (equal) for the element (level). An equality is 'constant' iff all other
+ * factors are null except the constant one. It is a 'pure item' iff one and
+ * only one factor is non null and is 1 or -1. Otherwise it is an 'affine
+ * expression'.
+ * For instance:
+ *   i = -13 is constant, i = j, j = -M are pure items,
+ *   j = 2*M, i = j+1 are affine expressions.
+ * When the equality comes from a 'one time loop', (line) is ONE_TIME_LOOP.
+ * This case require a specific treatment since we have to study all the
+ * constraints.
+ * - equal is the matrix of equalities,
+ * - level is the column number in equal of the element which is 'equal to',
+ * - line is the line number in equal of the constraint we want to study;
+ *   if it is -1, all lines must be studied.
+ **
+ * - July     3rd 2002: first version, called pprint_equal_isconstant. 
+ * - July     6th 2002: adaptation for the 3 types. 
+ * - June    15th 2005: (debug) expr = domain->Constraint[line] was evaluated
+ *                      before checking if line != ONE_TIME_LOOP. Since
+ *                      ONE_TIME_LOOP is -1, an invalid read was possible.
+ * - October 19th 2005: Removal of the once-time-loop specific processing.
+ */
+static int clast_equal_type(CloogMatrix *equal, int level, int line)
+{ 
+  int i, one=0 ;
+  
+  /* There is only one non null factor, and it must be +1 or -1 for
+   * iterators or parameters.
+   */ 
+  for (i=1;i<=equal->NbColumns-2;i++)
+    if (value_notzero_p(equal->p[line][i]) && (i != level))
+      { if ((value_notone_p(equal->p[line][i])
+            && value_notmone_p(equal->p[line][i]))
+           || (one != 0))
+    return EQTYPE_EXAFFINE ;
+    else
+    one = 1 ;
+  }
+  /* if the constant factor is non null, it must be alone. */
+  if (one != 0)
+    { if (value_notzero_p(equal->p[line][equal->NbColumns-1]))
+    return EQTYPE_EXAFFINE ;
+  }
+  else
+  return EQTYPE_CONSTANT ;
+  
+  return EQTYPE_PUREITEM ;
+}
+
+
+/**
+ * clast_equal_allow function:
+ * This function checks whether the options allow us to spread the equality or
+ * not. It returns 1 if so, 0 otherwise.
+ * - equal is the matrix of equalities,
+ * - level is the column number in equal of the element which is 'equal to',
+ * - line is the line number in equal of the constraint we want to study,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - October 27th 2005: first version (extracted from old pprint_equal_add).
+ */
+static int clast_equal_allow(CloogMatrix *equal, int level, int line, CloogInfos *infos)
+{ 
+  if ((!infos->options->csp && !infos->options->esp) ||
+      (level < infos->options->fsp))
+  return 0 ;
+  
+  if (infos->options->csp &&
+      (clast_equal_type(equal,level,line) == EQTYPE_EXAFFINE) &&
+      !infos->options->esp)
+  return 0 ;
+
+  return 1 ;
+}
+
+
+/**
+ * clast_equal_add function:
+ * This function updates the row (level-1) of the equality matrix (equal) with
+ * the row that corresponds to the row (line) of the matrix (matrix). It returns
+ * 1 if the row can be updated, 0 otherwise.
+ * - equal is the matrix of equalities,
+ * - matrix is the matrix of constraints,
+ * - level is the column number in matrix of the element which is 'equal to',
+ * - line is the line number in matrix of the constraint we want to study,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - July     2nd 2002: first version. 
+ * - October 19th 2005: Addition of the once-time-loop specific processing.
+ */
+static int clast_equal_add(CloogMatrix *equal, CloogMatrix *matrix, int level, int line,
+                          CloogInfos *infos)
+{ 
+  int i ;
+  Value numerator, denominator, division, modulo ;
+
+  /* If we are in the case of a loop running once, this means that the equality
+   * comes from an inequality. Here we find this inequality.
+   */
+  if (line == ONE_TIME_LOOP)
+  { for (i=0;i<matrix->NbRows;i++)
+      if ((value_notzero_p(matrix->p[i][0]))&&
+         (value_notzero_p(matrix->p[i][level])))
+    { line = i ;
+      
+      /* Since in once-time-loops, equalities derive from inequalities, we
+       * may have to offset the values. For instance if we have 2i>=3, the
+       * equality is in fact i=2. This may happen when the level coefficient is
+       * not 1 or -1 and the scalar value is not zero. In any other case (e.g.,
+       * if the inequality is an expression including outer loop counters or
+       * parameters) the once time loop would not have been detected
+       * because of floord and ceild functions.
+       */
+      if (value_ne_si(matrix->p[i][level],1) &&
+          value_ne_si(matrix->p[i][level],-1) &&
+         value_notzero_p(matrix->p[i][matrix->NbColumns-1]))
+      { value_init_c(numerator) ;
+        value_init_c(denominator) ;
+        value_init_c(division) ;
+        value_init_c(modulo) ;
+        
+       value_assign(denominator,matrix->p[i][level]) ;
+       value_absolute(denominator,denominator) ; 
+        value_assign(numerator,matrix->p[i][matrix->NbColumns-1]) ;   
+        value_modulus(modulo,numerator,denominator) ;
+        value_division(division,numerator,denominator) ;
+       
+       /* If MODULO is negative, decrease DIVISION so that the result of
+          division is rounded to minus infinity.  */
+       if (value_neg_p (modulo))
+         value_decrement (division, division);
+
+       value_assign (matrix->p[i][matrix->NbColumns-1], division);
+        
+       if (value_pos_p(matrix->p[i][level]))
+         value_set_si(matrix->p[i][level], 1) ;
+       else
+         value_set_si(matrix->p[i][level], -1) ;
+       
+       value_clear_c(numerator) ;
+        value_clear_c(denominator) ;
+        value_clear_c(division) ;
+        value_clear_c(modulo) ;
+      }
+            
+      break ;
+    }
+  }
+  
+  /* We update the line of equal corresponding to level:
+   * - the first element gives the equality type,
+   */
+  value_set_si(equal->p[level-1][0], clast_equal_type(matrix,level,line)) ;
+  /* - the other elements corresponding to the equality itself
+   *   (the iterators up to level, then the parameters and the scalar).
+   */
+  for (i=1;i<=level;i++)
+    value_assign(equal->p[level-1][i], matrix->p[line][i]) ;
+  for (i=0;i<cloog_names_nb_parameters (infos->names)+1;i++)
+    value_assign(equal->p[level-1][equal->NbColumns-i-1],
+                               matrix->p[line][matrix->NbColumns-i-1]) ;
+  
+  cloog_matrix_equality_update(equal,level,cloog_names_nb_parameters (infos->names)) ;
+  
+  return (clast_equal_allow(equal,level,level-1,infos)) ;
+}
+  
+
+/**
+ * clast_equal_del function :
+ * This function reset the equality corresponding to the iterator (level)
+ * in the equality matrix (equal).
+ * - July 2nd 2002: first version. 
+ */
+static void clast_equal_del(CloogMatrix * equal, int level)
+{ 
+  int i ;
+  
+  for (i=0;i<equal->NbColumns;i++)
+    value_set_si(equal->p[level-1][i], 0) ;
+}
+
+
+/**
+ * clast_bound_from_constraint function:
+ * This function returns a clast_expr containing the printing of the
+ * 'right part' of a constraint according to an element.
+ * For instance, for the constraint -3*i + 2*j - M >=0 and the element j,
+ * we have j >= (3*i + M)/2. As we are looking for integral solutions, this
+ * function should return 'ceild(3*i+M,2)'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - line_num is the line number in domain of the constraint we want to print,
+ * - level is the column number in domain of the element we want to use,
+ * - names structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 2nd 2001: first version. 
+ * - June    27th 2003: 64 bits version ready.
+ */
+static struct clast_expr *clast_bound_from_constraint(CloogMatrix *matrix,
+                                                     int line_num, int level,
+                                                     CloogNames *names)
+{ 
+  int i, nb_iter, sign, nb_elts=0 ;
+  char * name;
+  Value numerator, denominator, temp, division ;
+  struct clast_expr *e = NULL;
+
+  value_init_c(temp) ;
+  value_init_c(numerator) ;
+  value_init_c(denominator) ;
+
+  if (value_notzero_p(matrix->p[line_num][level])) {
+    struct clast_reduction *r;
+    /* Maybe we need to invert signs in such a way that the element sign is>0.*/
+    sign = value_pos_p(matrix->p[line_num][level]) ? -1 : 1 ;
+
+    for (i = 1, nb_elts = 0; i <= matrix->NbColumns - 1; ++i)
+      if (i != level && value_notzero_p(matrix->p[line_num][i]))
+           nb_elts++;
+    r = new_clast_reduction(clast_red_sum, nb_elts);
+    nb_elts = 0;
+
+    /* First, we have to print the iterators. */
+    nb_iter = matrix->NbColumns - 2 - cloog_names_nb_parameters (names);
+    for (i=1;i<=nb_iter;i++)
+      if ((i != level) && value_notzero_p(matrix->p[line_num][i])) {
+       if (i <= cloog_names_nb_scattering (names))
+        name = cloog_names_scattering_elt (names, i - 1);
+      else
+        name = cloog_names_iterator_elt (names, i - cloog_names_nb_scattering (names) - 1);
+      
+      if (sign == -1)
+       value_oppose(temp,matrix->p[line_num][i]) ;
+      else
+       value_assign(temp,matrix->p[line_num][i]) ;
+      
+      r->elts[nb_elts++] = &new_clast_term(temp, name)->expr;
+    }    
+
+    /* Next, the parameters. */
+    for (i=nb_iter+1;i<=matrix->NbColumns-2;i++)
+      if ((i != level) && value_notzero_p(matrix->p[line_num][i])) {
+       name = cloog_names_parameter_elt (names, i - nb_iter - 1);
+      
+      if (sign == -1)
+       value_oppose(temp,matrix->p[line_num][i]) ;
+      else
+       value_assign(temp,matrix->p[line_num][i]) ;
+      
+      r->elts[nb_elts++] = &new_clast_term(temp, name)->expr;
+    }    
+
+    if (sign == -1)
+      {
+       value_oppose(numerator,matrix->p[line_num][matrix->NbColumns - 1]) ;
+       value_assign(denominator,matrix->p[line_num][level]) ;
+      }
+    else
+      {
+       value_assign(numerator,matrix->p[line_num][matrix->NbColumns - 1]) ;
+       value_oppose(denominator,matrix->p[line_num][level]) ;
+      }
+        
+    /* Finally, the constant, and the final printing. */
+    if (nb_elts) {
+      if (value_notzero_p(numerator))
+         r->elts[nb_elts++] = &new_clast_term(numerator, NULL)->expr;
+    
+      if (value_notone_p(matrix->p[line_num][level]) 
+         && value_notmone_p(matrix->p[line_num][level]))
+       { if (value_one_p(matrix->p[line_num][0]))
+           { if (value_pos_p(matrix->p[line_num][level]))
+           e = &new_clast_binary(clast_bin_cdiv, &r->expr, denominator)->expr;
+          else
+           e = &new_clast_binary(clast_bin_fdiv, &r->expr, denominator)->expr;
+        } else
+           e = &new_clast_binary(clast_bin_div, &r->expr, denominator)->expr;
+      }
+      else
+       e = &r->expr;
+    } else { 
+      free_clast_reduction(r);
+      if (value_zero_p(numerator))
+       e = &new_clast_term(numerator, NULL)->expr;
+      else
+      { if (value_notone_p(denominator))
+         { if (value_one_p(matrix->p[line_num][0])) /* useful? */
+          { value_modulus(temp,numerator,denominator) ;
+            if (value_zero_p(temp))
+            { value_division(temp,numerator,denominator) ;
+             e = &new_clast_term(temp, NULL)->expr;
+            }
+            else
+            { value_init_c(division) ;
+             value_division(division,numerator,denominator) ;
+             if (value_neg_p(numerator)) {
+                if (value_pos_p(matrix->p[line_num][level])) {
+                   /* nb<0 need max */
+                   e = &new_clast_term(division, NULL)->expr;
+               } else {
+                  /* nb<0 need min */
+                  value_decrement(temp,division) ;
+                 e = &new_clast_term(temp, NULL)->expr;
+                }
+             }
+              else
+               { if (value_pos_p(matrix->p[line_num][level]))
+               { /* nb>0 need max */
+                  value_increment(temp,division) ;
+                 e = &new_clast_term(temp, NULL)->expr;
+                }
+               else
+                   /* nb>0 need min */
+                   e = &new_clast_term(division, NULL)->expr;
+              }
+             value_clear_c(division) ;
+            }
+          }
+          else
+           e = &new_clast_binary(clast_bin_div, 
+                                 &new_clast_term(numerator, NULL)->expr,
+                                 denominator)->expr;
+        }
+        else
+           e = &new_clast_term(numerator, NULL)->expr;
+      }
+    }
+  }
+
+  value_clear_c(temp) ;
+  value_clear_c(numerator) ;
+  value_clear_c(denominator) ;
+    
+  return e;
+}
+
+
+/**
+ * clast_equal function:
+ * This function returns the content an equality matrix (equal) into a clast_stmt.
+ * - the infos structure gives the user all options on code printing and more. 
+ **
+ * - July   2nd 2002: first version. 
+ * - March 16th 2003: return now a string instead of printing directly and do
+ *                    not write 'Sx()' if there is no spreading, but only 'Sx'. 
+ */
+static struct clast_stmt * clast_equal(CloogInfos *infos)
+{ 
+  int i, iterator ;
+  Value type ;
+  struct clast_expr *e;
+  struct clast_stmt *a = NULL;
+  struct clast_stmt **next = &a;
+  CloogMatrix *equal = infos->equal;
+
+  value_init_c(type) ;
+  
+  /* It is not necessary to print here the scattering iterators since they
+   * never appear in the statement bodies.
+   */
+  for (i = cloog_names_nb_scattering (infos->names); i < equal->NbRows; i++)
+  { if (value_notzero_p(equal->p[i][0])&&clast_equal_allow(equal,i+1,i,infos)) {
+      iterator = i - cloog_names_nb_scattering (infos->names) ;
+    
+      /* pprint_line needs to know that the current line is an equality, so
+       * we temporary remove the equality type and set it to zero (the equality
+       * tag in PolyLib.
+       */
+      value_assign(type,equal->p[i][0]) ;
+      value_set_si(equal->p[i][0], 0) ;
+      e = clast_bound_from_constraint(equal, i, i+1, infos->names);
+      value_assign(equal->p[i][0], type) ;
+      *next = &new_clast_assignment(cloog_names_iterators (infos->names)[iterator], e)->stmt;
+      next = &(*next)->next;
+    }
+  }
+  value_clear_c(type) ;
+
+  return a;
+}
+
+
+/**
+ * clast_equal_cpp function:
+ * This function prints the substitution data of a statement into a clast_stmt.
+ * Using this function instead of pprint_equal is useful for generating
+ * a compilable pseudo-code by using preprocessor macro for each statement.
+ * By opposition to pprint_equal, the result is less human-readable. For
+ * instance this function will print (i,i+3,k,3) where pprint_equal would
+ * return (j=i+3,l=3).
+ * - level is the number of loops enclosing the statement,
+ * - the infos structure gives the user all options on code printing and more.
+ **
+ * - March    12th 2004: first version. 
+ * - November 21th 2005: (debug) now works well with GMP version. 
+ */
+static struct clast_stmt * clast_equal_cpp(int level, CloogInfos *infos)
+{ 
+  int i ;
+  Value type ;
+  struct clast_expr *e;
+  struct clast_stmt *a = NULL;
+  struct clast_stmt **next = &a;
+  CloogMatrix *equal = infos->equal;
+
+  value_init_c(type) ;
+  
+  for (i=cloog_names_nb_scattering (infos->names);i<level-1;i++)
+    { if (value_notzero_p(equal->p[i][0]))
+    { /* pprint_line needs to know that the current line is an equality, so
+       * we temporary remove the equality type and set it to zero (the equality
+       * tag in PolyLib.
+       */
+      value_assign(type,equal->p[i][0]) ;
+      value_set_si(equal->p[i][0], 0) ;
+      e = clast_bound_from_constraint(equal, i, i+1, infos->names);
+      value_assign(equal->p[i][0], type) ;
+    } else {
+      value_set_si(type, 1);
+      e = &new_clast_term
+       (type, cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names)))->expr;
+    }
+    *next = &new_clast_assignment(NULL, e)->stmt;
+    next = &(*next)->next;
+  }
+  value_clear_c(type) ;
+
+  return a;
+}
+
+
+/**
+ * clast_minmax function:
+ * This function returns a clast_expr containing the printing of a minimum or a
+ * maximum of the 'right parts' of all constraints according to an element.
+ * For instance consider the constraints:
+ * -3*i  +2*j   -M >= 0
+ *  2*i    +j      >= 0
+ *   -i    -j +2*M >= 0
+ * if we are looking for the minimum for the element j, the function should
+ * return 'max(ceild(3*i+M,2),-2*i)'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number in domain of the element we want to use,
+ * - max is a boolean set to 1 if we are looking for a maximum, 0 for a minimum,
+ * - guard is set to 0 if there is no guard, and set to the level of the element
+ *   with a guard otherwise (then the function gives the max or the min only
+ *   for the constraint where the guarded coefficient is 0), 
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 2nd 2001: first version. 
+ */
+static struct clast_expr *clast_minmax(CloogMatrix *matrix,
+                                      int level, int max, int guard,
+                                      CloogInfos *infos)
+{ int i, n;
+  struct clast_reduction *r;
+  
+  for (i=0, n=0;i<matrix->NbRows;i++)
+    if (((max && value_pos_p(matrix->p[i][level])) ||
+        (!max && value_neg_p(matrix->p[i][level]))) &&
+       (!guard || value_zero_p(matrix->p[i][guard])) &&
+       (value_notzero_p(matrix->p[i][0])))
+      n++;
+  if (!n)
+    return NULL;
+  r = new_clast_reduction(max ? clast_red_max : clast_red_min, n);
+
+  for (i=0, n=0;i<matrix->NbRows;i++)
+    if (((max && value_pos_p(matrix->p[i][level])) ||
+        (!max && value_neg_p(matrix->p[i][level]))) &&
+       (!guard || value_zero_p(matrix->p[i][guard])) &&
+       (value_notzero_p(matrix->p[i][0])))
+      r->elts[n++] = clast_bound_from_constraint(matrix,i,level,infos->names);
+
+  return &r->expr;
+}
+
+
+/**
+ * insert_guard function:
+ * This function inserts a guard in the clast.
+ * A guard on an element (level) is :
+ * -> the conjunction of all the existing constraints where the coefficient of
+ *    this element is 0 if the element is an iterator,
+ * -> the conjunction of all the existing constraints if the element isn't an
+ *    iterator.
+ * For instance, considering these constraints and the element j:
+ * -3*i +2*j -M >= 0
+ *  2*i      +M >= 0
+ * this function should return 'if (2*i+M>=0) {'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November  3rd 2001: first version. 
+ * - November 14th 2001: a lot of 'purifications'. 
+ * - July     31th 2002: (debug) some guard parts are no more redundants. 
+ * - August   12th 2002: polyhedra union ('or' conditions) are now supported.
+ * - October  27th 2005: polyhedra union ('or' conditions) are no more supported
+ *                       (the need came from loop_simplify that may result in
+ *                       domain unions, now it should be fixed directly in
+ *                       cloog_loop_simplify).
+ */
+static void insert_guard(CloogMatrix *matrix, int level,
+                        struct clast_stmt ***next, CloogInfos *infos)
+{ 
+  int i, j, k, l, guarded, minmax=-1, nb_and = 0, nb_iter ;
+  char * name;
+  CloogMatrix * copy ;
+  struct clast_guard *g;
+  Value one;
+
+  if (matrix == NULL)
+    return;
+
+  value_init(one);
+  value_set_si(one, 1);
+  
+    g = new_clast_guard(2 * (matrix->NbColumns-2));
+
+    /* Well, it looks complicated because I wanted to have a particular, more
+     * readable, ordering, obviously this function may be far much simpler !
+     */
+    copy = cloog_matrix_copy(matrix) ;
+    
+    nb_iter = copy->NbColumns - 2 - cloog_names_nb_parameters (infos->names) ;
+    nb_and = 0 ;
+    /* We search for guard parts. */
+    for (i=1;i<=copy->NbColumns-2;i++)
+    for (j=0;j<copy->NbRows;j++)
+      if (value_notzero_p(copy->p[j][i]) &&
+         (value_zero_p(copy->p[j][level]) || (nb_iter < level))) {
+      struct clast_term *t;
+      if (i <= nb_iter)
+       { if (i <= cloog_names_nb_scattering (infos->names))
+         name = cloog_names_scattering_elt (infos->names, i - 1);
+        else
+         name = cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names) - 1);
+      }
+      else
+       name = cloog_names_parameter_elt (infos->names, i - nb_iter - 1);
+      
+      g->eq[nb_and].LHS = &(t = new_clast_term(one, name))->expr;
+      if (value_zero_p(copy->p[j][0])) {
+       /* put the "denominator" in the LHS */
+       value_assign(t->val, copy->p[j][i]);
+       value_set_si(copy->p[j][i], 1);
+       g->eq[nb_and].sign = 0;
+        g->eq[nb_and].RHS = clast_bound_from_constraint(copy,j,i,infos->names);
+       value_assign(copy->p[j][i], t->val);
+      } else {
+        if (value_pos_p(copy->p[j][i])) {
+           minmax = 1;
+           g->eq[nb_and].sign = 1;
+        } else {
+           minmax = 0;
+           g->eq[nb_and].sign = -1;
+       }
+      
+        guarded = (nb_iter >= level) ? level : 0 ;
+        g->eq[nb_and].RHS = clast_minmax(copy,i,minmax,guarded,infos) ;
+      }
+      nb_and ++ ;
+
+      /* 'elimination' of the current constraint, this avoid to use one
+       * constraint more than once. The current line is always eliminated,
+       * and the next lines if they are in a min or a max.
+       */
+      for (k=i;k<=copy->NbColumns-2;k++)
+       value_set_si(copy->p[j][k], 0) ;
+    
+      if (minmax != -1)
+      for (l=j+1;l<copy->NbRows;l++)
+       if (((minmax == 1) && value_pos_p(copy->p[l][i])) ||
+           ((minmax == 0) && value_neg_p(copy->p[l][i])))
+      for (k=i;k<=copy->NbColumns-2;k++)
+       value_set_si(copy->p[l][k], 0) ;
+    }
+    cloog_matrix_free(copy) ;
+  
+  g->n = nb_and;
+  if (nb_and) {
+    **next = &g->stmt;
+    *next = &g->then;
+  } else
+    free_clast_stmt(&g->stmt);
+  
+  value_clear(one);
+  return;
+}
+
+
+/* Computes x, y and g such that g = gcd(a,b) and a*x+b*y = g */
+static void Euclid(Value a, Value b, Value *x, Value *y, Value *g)
+{
+    Value c, d, e, f, tmp;
+
+    value_init(c);
+    value_init(d);
+    value_init(e);
+    value_init(f);
+    value_init(tmp);
+    value_absolute(c, a);
+    value_absolute(d, b);
+    value_set_si(e, 1);
+    value_set_si(f, 0);
+    while(value_pos_p(d)) {
+       value_division(tmp, c, d);
+       value_multiply(tmp, tmp, f);
+       value_subtract(e, e, tmp);
+       value_division(tmp, c, d);
+       value_multiply(tmp, tmp, d);
+       value_subtract(c, c, tmp);
+       value_swap(c, d);
+       value_swap(e, f);
+    }
+    value_assign(*g, c);
+    if (value_zero_p(a))
+       value_set_si(*x, 0);
+    else if (value_pos_p(a))
+       value_assign(*x, e);
+    else value_oppose(*x, e);
+    if (value_zero_p(b))
+       value_set_si(*y, 0);
+    else {
+       value_multiply(tmp, a, *x);
+       value_subtract(tmp, c, tmp);
+       value_division(*y, tmp, b);
+    }
+    value_clear(c);
+    value_clear(d);
+    value_clear(e);
+    value_clear(f);
+    value_clear(tmp);
+}
+
+/**
+ * insert_modulo_guard:
+ * This function inserts a modulo guard corresponding to an equality.
+ * See insert_equality.
+ * - matrix is the polyhedron containing all the constraints,
+ * - num is the line number of the constraint in matrix we want to print,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ */
+static void insert_modulo_guard(CloogMatrix *matrix, int num, int level,
+                               struct clast_stmt ***next, CloogInfos *infos)
+{
+  int i, j, k, nb_elts = 0, len, nb_iter, in_stride = 0, nb_par;
+  Vector *line_vector;
+  Value *line, val, x, y, g;
+
+  if (value_one_p(matrix->p[num][level]) || value_mone_p(matrix->p[num][level]))
+    return;
+
+  value_init_c(val);
+  value_init_c(x);
+  value_init_c(y);
+  value_init_c(g);
+
+  len = matrix->NbColumns;
+  nb_par = cloog_names_nb_parameters (infos->names);
+  nb_iter = matrix->NbColumns - 2 - nb_par;
+
+  line_vector = Vector_Alloc(len);
+  line = line_vector->p;
+  if (value_neg_p(matrix->p[num][level]))
+    cloog_vector_copy(matrix->p[num]+1, line+1, len-1);
+  else {
+    value_set_si(val, -1);
+    cloog_vector_scale(matrix->p[num]+1, line+1, val, len-1);
+  }
+  value_oppose(line[level], line[level]);
+  assert(value_pos_p(line[level]));
+
+  nb_elts = 0;
+  for (i = nb_iter; i >= 1; --i) {
+    if (i == level)
+      continue;
+    value_pmodulus(line[i],line[i],line[level]);
+    if (value_zero_p(line[i]))
+      continue;
+
+    /* Look for an earlier variable that is also a multiple of line[level]
+     * and check whether we can use the corresponding affine expression
+     * to "reduce" the modulo guard, where reduction means that we eliminate
+     * a variable, possibly at the expense of introducing other variables
+     * with smaller index.
+     */
+    for (j = level-1; j >= 0; --j) {
+      if (value_cmp_si(infos->equal->p[j][0], EQTYPE_EXAFFINE) != 0)
+       continue;
+      value_modulus(val, infos->equal->p[j][1+j], line[level]);
+      if (value_notzero_p(val))
+       continue;
+      value_modulus(val, infos->equal->p[j][i], line[level]);
+      if (value_zero_p(val))
+       continue;
+      for (k = j; k > i; --k) {
+       if (value_zero_p(infos->equal->p[j][k]))
+         continue;
+       value_modulus(val, infos->equal->p[j][k], line[level]);
+       if (value_notzero_p(val))
+         break;
+      }
+      if (k > i)
+        continue;
+      Euclid(infos->equal->p[j][i], line[level], &x, &y, &g);
+      value_modulus(val, line[i], g);
+      if (value_notzero_p(val))
+       continue;
+      value_division(val, line[i], g);
+      value_oppose(val, val);
+      value_multiply(val, val, x);
+      value_set_si(y, 1);
+      /* Add (infos->equal->p[j][i])^{-1} * line[i] times the equality */
+      cloog_vector_combine(line+1, infos->equal->p[j]+1, line+1, y, val, i);
+      cloog_vector_combine(line+len-nb_par-1,
+                          infos->equal->p[j]+infos->equal->NbColumns-nb_par-1,
+                          line+len-nb_par-1, y, val, nb_par+1);
+      break;
+    }
+    if (j >= 0) {
+      value_pmodulus(line[i],line[i],line[level]);
+      assert(value_zero_p(line[i]));
+      continue;
+    }
+
+    value_modulus(val,infos->stride[i-1],line[level]);
+    /* We need to know if an element of the equality has not to be printed
+     * because of a stride that guarantees that this element can be divided by
+     * the current coefficient. Because when there is a constant element, it
+     * is included in the stride calculation (more exactly in the strided
+     * iterator new lower bound: the 'offset') and we have not to print it.
+     */
+    if (value_zero_p(val)) {
+      in_stride = 1;
+      continue;
+    }
+
+    nb_elts++;
+  }
+  for (i = nb_iter+1; i <= len-1; ++i) {
+    value_pmodulus(line[i],line[i],line[level]);
+    if (value_zero_p(line[i]))
+      continue;
+    if (i <= len-2)
+      nb_elts++;
+  }
+
+  if (nb_elts || (value_notzero_p(line[len-1]) && (!in_stride))) {
+    struct clast_reduction *r;
+    struct clast_expr *e;
+    struct clast_guard *g;
+    char * name;
+
+    r = new_clast_reduction(clast_red_sum, nb_elts+1);
+    nb_elts = 0;
+
+    /* First, the modulo guard : the iterators... */
+    for (i=1;i<=nb_iter;i++) {
+      if (i == level || value_zero_p(line[i]))
+       continue;
+      value_modulus(val,infos->stride[i-1],line[level]);
+      if (value_zero_p(val))
+       continue;
+
+      if (i <= cloog_names_nb_scattering (infos->names))
+       name = cloog_names_scattering_elt (infos->names, i - 1);
+      else
+       name = cloog_names_iterator_elt (infos->names, i - cloog_names_nb_scattering (infos->names) - 1);
+
+      r->elts[nb_elts++] = &new_clast_term(line[i], name)->expr;
+    }
+
+    /* ...the parameters... */
+    for (i=nb_iter+1;i<=len-2;i++) {
+      if (value_zero_p(line[i]))
+       continue;
+
+      name = cloog_names_parameter_elt (infos->names, i - nb_iter - 1);
+      r->elts[nb_elts++] = &new_clast_term(line[i], name)->expr;
+    }
+
+    /* ...the constant. */
+    if (value_notzero_p(line[len-1]))
+      r->elts[nb_elts++] = &new_clast_term(line[len-1], NULL)->expr;
+
+    /* our initial computation may have been an overestimate */
+    r->n = nb_elts;
+
+    e = &new_clast_binary(clast_bin_mod, &r->expr, line[level])->expr;
+    g = new_clast_guard(1);
+    g->eq[0].LHS = e;
+    value_set_si(val, 0);
+    g->eq[0].RHS = &new_clast_term(val, NULL)->expr;
+    g->eq[0].sign = 0;
+
+    **next = &g->stmt;
+    *next = &g->then;
+  }
+
+  Vector_Free(line_vector);
+
+  value_clear_c(val);
+  value_clear_c(x);
+  value_clear_c(y);
+  value_clear_c(g);
+}
+
+
+/**
+ * insert_equality function:
+ * This function inserts an equality 
+ * constraint according to an element in the clast.
+ * An equality can be preceded by a 'modulo guard'.
+ * For instance, consider the constraint i -2*j = 0 and the
+ * element j: pprint_equality should return 'if(i%2==0) { j = i/2 ;'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - num is the line number of the constraint in matrix we want to print,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November 13th 2001: first version.
+ * - June 26th 2003: simplification of the modulo guards (remove parts such as
+ *                   modulo is 0, compare vivien or vivien2 with a previous
+ *                   version for an idea).
+ * - June 29th 2003: non-unit strides support.
+ * - July 14th 2003: (debug) no more print the constant in the modulo guard when
+ *                   it was previously included in a stride calculation.
+ */
+static void insert_equality(CloogMatrix *matrix, int num,
+                           int level, struct clast_stmt ***next, CloogInfos *infos)
+{
+  struct clast_expr *e;
+  struct clast_assignment *ass;
+
+  insert_modulo_guard(matrix, num, level, next, infos);
+
+  if (!clast_equal_add(infos->equal,matrix,level,num,infos))
+  { /* Finally, the equality. */
+               
+    /* If we have to make a block by dimension, we start the block. Function
+     * pprint knows if there is an equality, if this is the case, it checks
+     * for the same following condition to close the brace.
+     */
+    if (infos->options->block) {
+      struct clast_block *b = new_clast_block();
+      **next = &b->stmt;
+      *next = &b->body;
+    }
+               
+    e = clast_bound_from_constraint(matrix,num,level,infos->names);
+    if (level <= cloog_names_nb_scattering (infos->names))
+      ass = new_clast_assignment(cloog_names_scattering_elt (infos->names, level - 1), e);
+    else
+       ass = new_clast_assignment
+         (cloog_names_iterator_elt (infos->names, level - cloog_names_nb_scattering (infos->names) - 1), e);
+
+    **next = &ass->stmt;
+    *next = &(**next)->next;
+  }
+
+  return;
+}
+
+
+/**
+ * insert_for function:
+ * This function inserts a for loop in the clast.
+ * A loop header according to an element is the conjonction of a minimum and a
+ * maximum on the element (they give the loop bounds).
+ * For instance, considering these constraints and the element j:
+ * i + j -9*M >= 0
+ *    -j +5*M >= 0
+ *     j -4*M >= 0
+ * this function should return 'for (j=max(-i+9*M,4*M),j<=5*M;j++) {'.
+ * - matrix is the polyhedron containing all the constraints,
+ * - level is the column number of the element in matrix we want to use,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in matrix (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - July 2nd 2002: first version (pick from pprint function). 
+ * - March 6th 2003: infinite domain support. 
+ * - June 29th 2003: non-unit strides support.
+ */
+static void insert_for(CloogMatrix *matrix, int level,
+                      struct clast_stmt ***next, CloogInfos *infos)
+{
+  char * iterator ;
+  struct clast_expr *e1;
+  struct clast_expr *e2;
+  struct clast_assignment *ass;
+  
+  if (level <= cloog_names_nb_scattering (infos->names))
+    iterator = cloog_names_scattering_elt (infos->names, level - 1);
+  else
+    iterator = cloog_names_iterator_elt 
+      (infos->names, level - cloog_names_nb_scattering (infos->names) - 1);
+  
+  e1 = clast_minmax(matrix,level,1,0,infos) ;
+  e2 = clast_minmax(matrix,level,0,0,infos) ;
+
+  /* If min and max are not equal there is a 'for' else, there is a '='.
+   * In the special case e1 = e2 = NULL, this is an infinite loop
+   * so this is not a '='.
+   */
+  if (!clast_expr_equal(e1, e2) || !infos->options->otl || (!e1 && !e2)) {
+    struct clast_for *f = new_clast_for(iterator, e1, e2, infos->stride[level-1]);
+    **next = &f->stmt;
+    *next = &f->body;
+  }
+  else if (!clast_equal_add(infos->equal,matrix,level,ONE_TIME_LOOP,infos)) {
+    if (infos->options->block) {
+       struct clast_block *b = new_clast_block();
+       **next = &b->stmt;
+       *next = &b->body;
+    }
+    ass = new_clast_assignment(iterator, e1);
+    **next = &ass->stmt;
+    *next = &(**next)->next;
+  }
+
+  return;    
+}
+
+
+/**
+ * insert_scalar function:
+ * This function inserts assignments to the scalar values
+ * that follows the level (level). It finds by scanning (loop) by inner level,
+ * the first CloogBlock data structure (at this step, all blocks has the same
+ * scalar vector information after (level)), and prints all the adjacent
+ * scalar values following (level), if it is required by options in (info).
+ * - loop is the loop structure to begin the search for a block,
+ * - level is the current loop level,
+ * - scalar points to the number of scalar values already visited,
+ * - the infos structure gives the user options about code printing and more.
+ **
+ * - September 12th 2005: first version.
+ */
+static void insert_scalar(CloogLoop *loop, int level, int *scalar,
+                         struct clast_stmt ***next, CloogInfos *infos)
+{ 
+  struct clast_block *b;
+  struct clast_term *t;
+  
+  if ((!infos->options->csp) &&
+      (level+(*scalar) <= infos->nb_scattdims) &&
+      (infos->scaldims[level+(*scalar)-1]))
+    {
+      while (cloog_loop_block (loop) == NULL)
+       loop = cloog_loop_inner (loop) ;
+
+      while ((level+(*scalar) <= infos->nb_scattdims) &&
+            (infos->scaldims[level+(*scalar)-1])) { 
+       if (infos->options->block) {
+         b = new_clast_block();
+         **next = &b->stmt;
+         *next = &b->body;
+       }
+      
+       t = new_clast_term (cloog_loop_block (loop)->scaldims[*scalar], NULL);
+       **next = &new_clast_assignment(cloog_names_scalar_elt (infos->names, *scalar),
+                                      &t->expr)->stmt;
+       *next = &(**next)->next;
+       (*scalar) ++ ;
+      
+      }
+    }
+  
+  return;
+}
+
+
+/**
+ * insert_block function:
+ * This function inserts a statement block.
+ * - block is the statement block,
+ * - level is the number of loops enclosing the statement,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - September 21th 2003: first version (pick from pprint function). 
+ */
+static void insert_block(CloogBlock *block, int level,
+                        struct clast_stmt ***next, CloogInfos *infos)
+{
+    CloogStatement * statement ;
+    struct clast_stmt *subs;
+   
+    if (!block)
+       return;
+
+    for (statement = cloog_block_stmt (block); statement;
+        statement = cloog_statement_next (statement)) {
+      if (infos->options->cpp == 0)
+       subs = clast_equal(infos);
+      else
+       subs = clast_equal_cpp(level,infos);
+
+      **next = &new_clast_user_stmt(statement, subs)->stmt;
+      *next = &(**next)->next;
+    }
+}
+
+static CloogMatrix *
+cloog_simplify_domain_matrix_with_equalities (CloogDomain *domain, int level,
+                                             CloogMatrix *equal, int nb_parameters)
+{
+  CloogMatrix *temp, *res;
+
+  /* FIXME: the access to ->_polyhedron is a hack to avoid exporting
+     the CloogMatrix in a .h file: the whole clast.c file should be
+     rewritten specifically to Polylib and PPL.  */
+
+  temp = cloog_upol_domain2matrix (cloog_domain_upol (domain));
+  cloog_matrix_normalize (temp, level);
+  res = cloog_matrix_simplify (temp, equal, level, nb_parameters);
+  cloog_matrix_free(temp);
+
+  return res;
+}
+
+
+/**
+ * insert_loop function:
+ * This function concerts the content of a CloogLoop structure (loop) into a
+ * clast_stmt (inserted at **next).
+ * The iterator (level) of
+ * the current loop is given by 'level': this is the column number of the
+ * domain corresponding to the current loop iterator. The data of a loop are
+ * written in this order:
+ * 1. The guard of the loop, i.e. each constraint in the domain that do not
+ *    depend on the iterator (when the entry in the column 'level' is 0).
+ * 2. The iteration domain of the iterator, given by the constraints in the
+ *    domain depending on the iterator, i.e.:
+ *    * an equality if the iterator has only one value (possibly preceded by
+ *      a guard verifying if this value is integral), *OR*
+ *    * a loop from the minimum possible value of the iterator to the maximum
+ *      possible value.
+ * 3. The included statement block.
+ * 4. The inner loops (recursive call).
+ * 5. The following loops (recursive call).
+ * - level is the recursion level or the iteration level that we are printing,
+ * - the infos structure gives the user some options about code printing,
+ *   the number of parameters in domain (nb_par), and the arrays of iterator
+ *   names and parameters (iters and params). 
+ **
+ * - November   2nd 2001: first version. 
+ * - March      6th 2003: infinite domain support. 
+ * - April     19th 2003: (debug) NULL loop support. 
+ * - June      29th 2003: non-unit strides support.
+ * - April     28th 2005: (debug) level is level+equality when print statement!
+ * - June      16th 2005: (debug) the N. Vasilache normalization step has been
+ *                        added to avoid iteration duplication (see DaeGon Kim
+ *                        bug in cloog_program_generate). Try vasilache.cloog
+ *                        with and without the call to cloog_matrix_normalize,
+ *                        using -f 8 -l 9 options for an idea.
+ * - September 15th 2005: (debug) don't close equality braces when unnecessary.
+ * - October   16th 2005: (debug) scalar value is saved for next loops.
+ */
+static void insert_loop(CloogLoop * loop, int level, int scalar,
+                       struct clast_stmt ***next, CloogInfos *infos)
+{
+    int i, equality=0, scalar_level;
+    CloogMatrix * matrix;
+    struct clast_stmt **top = *next;
+
+    /* It can happen that loop be NULL when an input polyhedron is empty. */
+    if (loop == NULL)
+       return;
+
+    /* The matrix has not always a shape that allows us to generate code from it,
+    * thus we normalize it, we also simplify it with the matrix of equalities.
+    */ 
+    matrix = cloog_simplify_domain_matrix_with_equalities
+      (cloog_loop_domain (loop), level, infos->equal, cloog_names_nb_parameters (infos->names));
+    value_assign(infos->stride[level-1], loop->stride);
+
+    /* First of all we have to print the guard. */
+    insert_guard(matrix,level, next, infos);
+
+    /* Then we print scalar dimensions. */ 
+    scalar_level = scalar ;
+    insert_scalar(loop,level,&scalar, next, infos);
+
+    if ((matrix->NbColumns - 2 - cloog_names_nb_parameters (infos->names) >= level)) {
+       /* We scan all the constraints to know in which case we are :
+        * [[if] equality] or [for].
+        */
+       for (i=0;i<matrix->NbRows;i++)
+         if (value_zero_p(matrix->p[i][0]) &&
+             value_notzero_p(matrix->p[i][level]))
+       { /* If there is an equality, we can print it directly -no ambiguity-.
+          * PolyLib can give more than one equality, we use just the first one
+          * (this is a PolyLib problem, but all equalities are equivalent).
+          */
+         insert_equality(matrix,i,level, next, infos);
+         equality = 1 ;   
+         break ;
+       }
+      
+       if (!equality)
+           insert_for(matrix, level, next, infos);
+    }
+
+    /* Finally, if there is an included statement block, print it. */
+    insert_block(cloog_loop_block (loop), level+equality, next, infos);
+
+    /* Go to the next level. */
+    if (cloog_loop_inner (loop))
+      insert_loop(cloog_loop_inner (loop), level+1,scalar, next, infos);
+
+    clast_equal_del(infos->equal,level);
+    cloog_matrix_free(matrix);
+
+    /* Go to the next loop on the same level. */
+    while (*top)
+       top = &(*top)->next;
+    if (cloog_loop_next (loop))
+      insert_loop(cloog_loop_next (loop), level,scalar_level, &top,infos);
+}
+
+
+struct clast_stmt *cloog_clast_create(CloogProgram *program,
+                                     CloogOptions *options)
+{
+    CloogInfos *infos = ALLOC(CloogInfos);
+    int i, nb_levels;
+    struct clast_stmt *root = &new_clast_root(cloog_program_names (program))->stmt;
+    struct clast_stmt **next = &root->next;
+
+    infos->names    = cloog_program_names (program);
+    infos->options  = options;
+    infos->scaldims = cloog_program_scaldims (program);
+    infos->nb_scattdims = cloog_program_nb_scattdims (program);
+
+    /* Allocation for the array of strides, there is a +1 since the statement can
+    * be included inside an external loop without iteration domain.
+    */ 
+    nb_levels = cloog_names_nb_scattering (cloog_program_names (program)) 
+      + cloog_names_nb_iterators (cloog_program_names (program)) + 1;
+    infos->stride = ALLOCN(Value, nb_levels);
+    for (i = 0; i < nb_levels; ++i)
+       value_init_c(infos->stride[i]);
+
+    infos->equal = 
+      cloog_matrix_alloc (nb_levels, nb_levels + cloog_names_nb_parameters (cloog_program_names (program)) + 1);
+       
+    insert_loop (cloog_program_loop (program), 1, 0, &next, infos);
+
+    cloog_matrix_free(infos->equal);
+
+    for (i = 0; i < nb_levels; ++i)
+       value_clear_c(infos->stride[i]);
+    free(infos->stride);
+    free(infos);
+
+    return root;
+}
diff --git a/source/ppl/domain.c b/source/ppl/domain.c
new file mode 100644 (file)
index 0000000..90a8c27
--- /dev/null
@@ -0,0 +1,3621 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             domain.c                              **
+    **-------------------------------------------------------------------**
+    **                   First version: october 28th 2001                **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <ctype.h>
+# include "cloog/cloog.h"
+#include "matrix.h"
+
+#ifndef USE_PPL_POWERSETS
+# define USE_PPL_POWERSETS 1
+#endif
+
+/* Variables names for pretty printing.  */
+static char wild_name[200][40];
+
+static inline const char*
+variable_output_function (ppl_dimension_type var)
+{
+  if (var < 40)
+    return wild_name[var + 1];
+  else
+    return 0;
+}
+
+static inline void
+error_handler (enum ppl_enum_error_code code, const char* description)
+{
+  fprintf (stderr, "PPL error code %d\n%s", code, description);
+  exit (1);
+}
+
+void
+cloog_initialize (void)
+{
+  sprintf (wild_name[0], "1");
+  sprintf (wild_name[1], "a");
+  sprintf (wild_name[2], "b");
+  sprintf (wild_name[3], "c");
+  sprintf (wild_name[4], "d");
+  sprintf (wild_name[5], "e");
+  sprintf (wild_name[6], "f");
+  sprintf (wild_name[7], "g");
+  sprintf (wild_name[8], "h");
+  sprintf (wild_name[9], "i");
+  sprintf (wild_name[10], "j");
+  sprintf (wild_name[11], "k");
+  sprintf (wild_name[12], "l");
+  sprintf (wild_name[13], "m");
+  sprintf (wild_name[14], "n");
+  sprintf (wild_name[15], "o");
+  sprintf (wild_name[16], "p");
+  sprintf (wild_name[17], "q");
+  sprintf (wild_name[18], "r");
+  sprintf (wild_name[19], "s");
+  sprintf (wild_name[20], "t");
+  sprintf (wild_name[21], "alpha");
+  sprintf (wild_name[22], "beta");
+  sprintf (wild_name[23], "gamma");
+  sprintf (wild_name[24], "delta");
+  sprintf (wild_name[25], "tau");
+  sprintf (wild_name[26], "sigma");
+  sprintf (wild_name[27], "chi");
+  sprintf (wild_name[28], "omega");
+  sprintf (wild_name[29], "pi");
+  sprintf (wild_name[30], "ni");
+  sprintf (wild_name[31], "Alpha");
+  sprintf (wild_name[32], "Beta");
+  sprintf (wild_name[33], "Gamma");
+  sprintf (wild_name[34], "Delta");
+  sprintf (wild_name[35], "Tau");
+  sprintf (wild_name[36], "Sigma");
+  sprintf (wild_name[37], "Chi");
+  sprintf (wild_name[38], "Omega");
+  sprintf (wild_name[39], "xxx");
+
+  if (ppl_initialize() < 0)
+    {
+      fprintf (stderr, "Cannot initialize the Parma Polyhedra Library.\n");
+      exit (1);
+    }
+
+  if (ppl_restore_pre_PPL_rounding() < 0)
+    {
+      fprintf (stderr, "Cannot restore the pre-PPL rounding mode.\n");
+      exit (1);
+    }
+
+  if (ppl_set_error_handler (error_handler) < 0)
+    {
+      fprintf (stderr, "Cannot install the custom error handler.\n");
+      exit (1);
+    }
+
+  if (ppl_io_set_variable_output_function (variable_output_function) < 0)
+    {
+      fprintf (stderr, "Cannot install the PPL custom variable output function. \n");
+      exit (1);
+    }
+}
+
+polyhedron
+cloog_pol_copy (polyhedron pol)
+{
+  polyhedron res;
+
+  if (!pol)
+    return 0;
+
+  res = cloog_new_pol (cloog_pol_dim (pol), cloog_pol_nbc (pol));
+
+  if (cloog_pol_nbc (pol))
+    cloog_vector_copy (pol->Constraint[0], res->Constraint[0],
+                      cloog_pol_nbc (pol) * (cloog_pol_dim (pol) + 2));
+
+  return res;
+}
+
+/**
+ * The maximal number of rays allowed to be allocated by PolyLib. In fact since
+ * version 5.20, PolyLib automatically tune the number of rays by multiplying
+ * by 2 this number each time the maximum is reached. For unknown reasons
+ * PolyLib makes a segmentation fault if this number is too small. If this
+ * number is too small, performances will be reduced, if it is too high, memory
+ * will be saturated. Note that the option "-rays X" set this number to X.
+ */
+int MAX_RAYS = 50;
+
+/* Unused in this backend.  */
+
+int cloog_domain_allocated = 0;
+int cloog_domain_freed = 0;
+int cloog_domain_max = 0;
+
+/* The same for Value variables since in GMP mode they have to be freed. */
+int cloog_value_allocated = 0;
+int cloog_value_freed = 0;
+int cloog_value_max = 0;
+
+
+static inline void
+cloog_domain_polyhedron_set (CloogDomain * d, polyhedra_union p)
+{
+  d->_union = p;
+}
+
+static inline void
+cloog_domain_set_references (CloogDomain * d, int i)
+{
+  d->_references = i;
+}
+
+static CloogDomain *
+cloog_new_domain (polyhedra_union p)
+{
+  CloogDomain *domain = (CloogDomain *) malloc (sizeof (CloogDomain));
+  domain->_union = p;
+  cloog_domain_set_references (domain, 1);
+  return domain;
+}
+
+static CloogDomain *
+cloog_domain_alloc (polyhedron p)
+{
+  return cloog_new_domain (cloog_new_upol (p));
+}
+
+static inline CloogDomain *
+cloog_check_domain_id (CloogDomain *dom)
+{
+  return dom;
+}
+
+static inline CloogDomain *
+cloog_check_domain (CloogDomain *dom)
+{
+  if (!dom)
+    return dom;
+
+  return dom;
+}
+
+static inline void
+cloog_vector_min_not_zero (Value * p, unsigned len, int *index, Value * min)
+{
+  Value x;
+  int i = cloog_first_non_zero (p, len);
+
+  if (i == -1)
+    {
+      value_set_si (*min, 1);
+      return;
+    }
+
+  *index = i;
+  value_absolute (*min, p[i]);
+  value_init (x);
+
+  for (i = i + 1; i < (int) len; i++)
+    {
+      if (value_zero_p (p[i]))
+       continue;
+
+      value_absolute (x, p[i]);
+      if (value_lt (x, *min))
+       {
+         value_assign (*min, x);
+         *index = i;
+       }
+    }
+
+  value_clear (x);
+}
+
+void
+cloog_vector_gcd (Value * p, int len, Value * gcd)
+{
+  Value *q, *cq, *cp;
+  int i, non_zero, min_index = 0;
+
+  q = (Value *) malloc (len * sizeof (Value));
+
+  for (i = 0; i < len; i++)
+    value_init (q[i]);
+
+  for (cp = p, cq = q, i = 0; i < len; i++, cq++, cp++)
+    value_absolute (*cq, *cp);
+
+  do
+    {
+      cloog_vector_min_not_zero (q, len, &min_index, gcd);
+
+      if (value_notone_p (*gcd))
+       {
+         for (cq = q, non_zero = 0, i = 0; i < len; i++, cq++)
+           if (i != min_index)
+             {
+               value_modulus (*cq, *cq, *gcd);
+               non_zero |= value_notzero_p (*cq);
+             }
+       }
+      else
+       break;
+
+    }
+  while (non_zero);
+
+  for (i = 0; i < len; i++)
+    value_clear (q[i]);
+
+  free (q);
+}
+
+static inline void
+cloog_matrix_combine (Value * p1, Value * p2, Value * p3, int x, unsigned len)
+{
+  Value a1, a2, gcd, b1, b2, n1;
+
+  value_init (a1), value_init (a2), value_init (gcd),
+    value_init (b1), value_init (b2), value_init (n1);
+
+  value_assign (a1, p1[x]);
+  value_assign (a2, p2[x]);
+
+  value_absolute (b1, a1);
+  value_absolute (b2, a2);
+
+  Gcd (b1, b2, &gcd);
+
+  value_division (a1, a1, gcd);
+  value_division (a2, a2, gcd);
+  value_oppose (n1, a1);
+  cloog_vector_combine (p1 + 1, p2 + 1, p3 + 1, a2, n1, len);
+  cloog_vector_normalize (p3 + 1, len);
+
+  value_clear (a1), value_clear (a2), value_clear (gcd),
+    value_clear (b1), value_clear (b2), value_clear (n1);
+}
+
+/* In the matrix representation an equality has a 0 in the first
+   column.  When the value of the first column is 1, the row
+   represents an inequality.  */
+
+static inline int
+cloog_matrix_row_is_eq_p (CloogMatrix *matrix, int row)
+{
+  return value_zero_p (matrix->p[row][0]);
+}
+
+static ppl_Constraint_t
+cloog_build_ppl_cstr (ppl_Linear_Expression_t expr, int ineq)
+{
+  ppl_Constraint_t cstr;
+
+  switch (ineq)
+    {
+    case 0:
+      ppl_new_Constraint (&cstr, expr, PPL_CONSTRAINT_TYPE_EQUAL);
+      break;
+
+    case 1:
+      ppl_new_Constraint (&cstr, expr, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL);
+      break;
+
+    default:
+      /* Should not happen.  */
+      exit (1);
+    }
+
+  return cstr;
+}
+
+/* Translates to PPL row I from MATRIX.  CST is the constant part that
+   is added to the constraint.  When INEQ is 1 the constraint is
+   translated as an inequality, when INEQ is 0 it is translated as an
+   equality, when INEQ has another value, the first column of the
+   matrix is read for determining the type of the constraint. */
+
+static ppl_Constraint_t
+cloog_translate_constraint (CloogMatrix *matrix, int i, int cst, int ineq)
+{
+  int j;
+  ppl_Constraint_t res;
+  ppl_Coefficient_t coef;
+  ppl_Linear_Expression_t expr;
+  ppl_dimension_type dim = matrix->NbColumns - 2;
+  Value val;
+
+  value_init (val);
+  ppl_new_Coefficient (&coef);
+  ppl_new_Linear_Expression_with_dimension (&expr, dim);
+
+  for (j = 1; j < matrix->NbColumns - 1; j++)
+    {
+      ppl_assign_Coefficient_from_mpz_t (coef, matrix->p[i][j]);
+      ppl_Linear_Expression_add_to_coefficient (expr, j - 1, coef);
+    }
+
+  value_set_si (val, cst);
+  value_addto (val, matrix->p[i][matrix->NbColumns - 1], val);
+  ppl_assign_Coefficient_from_mpz_t (coef, val);
+  value_clear (val);
+  ppl_Linear_Expression_add_to_inhomogeneous (expr, coef);
+  ppl_delete_Coefficient (coef);
+
+  if (ineq != 0 && ineq != 1)
+    ineq = !cloog_matrix_row_is_eq_p (matrix, i);
+
+  res = cloog_build_ppl_cstr (expr, ineq);
+  ppl_delete_Linear_Expression (expr);
+  return res;
+}
+
+/* Translates to PPL the opposite of row I from MATRIX.  When INEQ is
+   1 the constraint is translated as an inequality, when INEQ is 0 it
+   is translated as an equality, when INEQ has another value, the
+   first column of the matrix is read for determining the type of the
+   constraint.  */
+
+static ppl_Constraint_t
+cloog_translate_oppose_constraint (CloogMatrix *matrix, int i, int cst, int ineq)
+{
+  int j;
+  ppl_Constraint_t res;
+  ppl_Coefficient_t coef;
+  ppl_Linear_Expression_t expr;
+  ppl_dimension_type dim = matrix->NbColumns - 2;
+  Value val, val1;
+
+  value_init (val);
+  value_init (val1);
+  ppl_new_Coefficient (&coef);
+  ppl_new_Linear_Expression_with_dimension (&expr, dim);
+
+  for (j = 1; j < matrix->NbColumns - 1; j++)
+    {
+      value_oppose (val, matrix->p[i][j]);
+      ppl_assign_Coefficient_from_mpz_t (coef, val);
+      ppl_Linear_Expression_add_to_coefficient (expr, j - 1, coef);
+    }
+
+  value_oppose (val, matrix->p[i][matrix->NbColumns - 1]);
+  value_set_si (val1, cst);
+  value_addto (val, val, val1);
+  ppl_assign_Coefficient_from_mpz_t (coef, val);
+  ppl_Linear_Expression_add_to_inhomogeneous (expr, coef);
+  ppl_delete_Coefficient (coef);
+  value_clear (val);
+  value_clear (val1);
+
+  if (ineq != 0 && ineq != 1)
+    ineq = !cloog_matrix_row_is_eq_p (matrix, i);
+
+  res = cloog_build_ppl_cstr (expr, ineq);
+  ppl_delete_Linear_Expression (expr);
+  return res;
+}
+
+/* Adds to PPL the constraints from MATRIX.  */
+
+static void
+cloog_translate_constraint_matrix_1 (ppl_Polyhedron_t ppl, CloogMatrix *matrix)
+{
+  int i;
+
+  for (i = 0; i < matrix->NbRows; i++)
+    {
+      ppl_Constraint_t c = cloog_translate_constraint (matrix, i, 0, -1);
+      ppl_Polyhedron_add_constraint (ppl, c);
+      ppl_delete_Constraint (c);
+    }
+}
+
+static ppl_Polyhedron_t
+cloog_translate_constraint_matrix (CloogMatrix *matrix)
+{
+  ppl_Polyhedron_t ppl;
+  ppl_dimension_type dim = matrix->NbColumns - 2;
+
+  ppl_new_C_Polyhedron_from_space_dimension (&ppl, dim, 0);
+  cloog_translate_constraint_matrix_1 (ppl, matrix);
+  return ppl;
+}
+
+/* Put the constraint matrix of polyhedron RES under Cloog's normal
+   form: Cloog expects to see
+
+   0    1    1   -9
+   1    0    1   -1
+
+   instead of this:
+
+   0    1    1   -9
+   1   -1    0    8
+
+   These two forms are equivalent but the expected form uses rightmost
+   indices for inequalities.  */
+
+static void
+cloog_pol_normal_form (polyhedron res)
+{
+  int dim = cloog_pol_dim (res);
+  int nrows = cloog_pol_nbc (res);
+  int i, j;
+  int neqs = cloog_pol_nbeq (res);
+
+  for (j = 1; j <= dim; j++)
+    {
+      int rank;
+
+      for (rank = 0; rank < neqs; rank++)
+       if (j - 1 == cloog_first_non_zero (res->Constraint[rank] + 1, dim))
+         {
+           for (i = neqs; i < nrows; i++)
+             if (value_notzero_p (res->Constraint[i][j]))
+               cloog_matrix_combine (res->Constraint[i],
+                                     res->Constraint[rank],
+                                     res->Constraint[i], j, dim + 1);
+
+           break;
+         }
+    }
+}
+
+static polyhedron
+cloog_translate_ppl_polyhedron_1 (ppl_Polyhedron_t pol)
+{
+  polyhedron res;
+  ppl_dimension_type dim;
+  ppl_const_Constraint_System_t pcs;
+  ppl_Constraint_System_const_iterator_t cit, end;
+  int eqs, orig_ineqs, ineqs, row, i;
+  ppl_const_Constraint_t pc;
+  Value val;
+
+  ppl_Polyhedron_get_minimized_constraints (pol, &pcs);
+  ppl_new_Constraint_System_const_iterator (&cit);
+  ppl_new_Constraint_System_const_iterator (&end);
+
+  for (eqs = 0, ineqs = 0,
+        ppl_Constraint_System_begin (pcs, cit),
+        ppl_Constraint_System_end (pcs, end);
+       !ppl_Constraint_System_const_iterator_equal_test (cit, end);
+       ppl_Constraint_System_const_iterator_increment (cit))
+    {
+      ppl_Constraint_System_const_iterator_dereference (cit, &pc);
+      (ppl_Constraint_type (pc) == PPL_CONSTRAINT_TYPE_EQUAL) ? eqs++ : ineqs++;
+    }
+
+  ppl_Polyhedron_space_dimension (pol, &dim);
+
+  orig_ineqs = ineqs;
+  if (1 || orig_ineqs == 0)
+    res = cloog_new_pol (dim, eqs + ineqs + 1);
+  else
+    res = cloog_new_pol (dim, eqs + ineqs);
+
+
+  /* Sort constraints: Cloog expects to see in matrices the equalities
+     followed by inequalities.  */
+  ineqs = eqs;
+  eqs = 0;
+  value_init (val);
+
+  for (ppl_Constraint_System_begin (pcs, cit), ppl_Constraint_System_end (pcs, end);
+       !ppl_Constraint_System_const_iterator_equal_test (cit, end);
+       ppl_Constraint_System_const_iterator_increment (cit))
+    {
+      ppl_Coefficient_t coef;
+      ppl_dimension_type col;
+      int neg;
+
+      ppl_new_Coefficient (&coef);
+      ppl_Constraint_System_const_iterator_dereference (cit, &pc);
+
+      neg = (ppl_Constraint_type (pc) == PPL_CONSTRAINT_TYPE_LESS_THAN
+            || ppl_Constraint_type (pc) == PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL) ? 1 : 0;
+      row = (ppl_Constraint_type (pc) == PPL_CONSTRAINT_TYPE_EQUAL) ? eqs++ : ineqs++;
+
+      for (col = 0; col < dim; col++)
+       {
+         ppl_Constraint_coefficient (pc, col, coef);
+         ppl_Coefficient_to_mpz_t (coef, val);
+
+         if (neg)
+           value_oppose (val, val);
+
+         value_assign (res->Constraint[row][col + 1], val);
+       }
+
+      ppl_Constraint_inhomogeneous_term (pc, coef);
+      ppl_Coefficient_to_mpz_t (coef, val);
+      value_assign (res->Constraint[row][dim + 1], val);
+      ppl_delete_Coefficient (coef);
+
+      switch (ppl_Constraint_type (pc))
+       {
+       case PPL_CONSTRAINT_TYPE_EQUAL:
+         value_set_si (res->Constraint[row][0], 0);
+         break;
+
+       case PPL_CONSTRAINT_TYPE_LESS_THAN:
+       case PPL_CONSTRAINT_TYPE_GREATER_THAN:
+         value_decrement (res->Constraint[row][dim + 1],
+                          res->Constraint[row][dim + 1]);
+         value_set_si (res->Constraint[row][0], 1);
+         break;
+
+       case PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL:
+       case PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL:
+         value_set_si (res->Constraint[row][0], 1);
+         break;
+
+       default:
+         fprintf (stderr, "PPL_CONSTRAINT_TYPE_%d not implemented yet\n",
+                  ppl_Constraint_type (pc));
+         exit (1);
+       }
+    }
+
+  value_clear (val);
+  ppl_delete_Constraint_System_const_iterator (cit);
+  ppl_delete_Constraint_System_const_iterator (end);
+
+  if (cloog_pol_nbeq (res) == 2 && cloog_pol_nbc (res) == 2
+      && cloog_first_non_zero (res->Constraint[0], dim + 2) == (int) dim + 1)
+    {
+      cloog_pol_free (res);
+      return cloog_empty_polyhedron (dim);
+    }
+
+  /* Add the positivity constraint.  */
+  if (1 || orig_ineqs == 0)
+    {
+      row = ineqs;
+      value_set_si (res->Constraint[row][0], 1);
+      for (i = 0; i < (int) dim; i++)
+       value_set_si (res->Constraint[row][i + 1], 0);
+      value_set_si (res->Constraint[row][dim + 1], 1);
+    }
+
+  /* Put the matrix of RES in normal form.  */
+  cloog_pol_normal_form (res);
+
+  /* If we do not sort the matrices, Cloog is a random loop
+     generator.  */
+  cloog_pol_sort_rows (res);
+
+  return res;
+}
+
+polyhedron
+cloog_pol_from_matrix (CloogMatrix * m)
+{
+  polyhedron res;
+  int ncolumns = cloog_matrix_ncolumns (m);
+  int nrows = cloog_matrix_nrows (m);
+  ppl_Polyhedron_t p;
+
+  if (nrows == 0)
+    return cloog_universe_polyhedron (ncolumns - 2);
+
+
+  p = cloog_translate_constraint_matrix (m);
+  res = cloog_translate_ppl_polyhedron_1 (p);
+  ppl_delete_Polyhedron (p);
+  if ((int) cloog_pol_nbc (res) < cloog_matrix_nrows (m))
+    return res;
+
+  cloog_pol_free (res);
+  res = cloog_new_pol (ncolumns - 2, nrows);
+  cloog_vector_copy (m->p[0], res->Constraint[0], m->NbRows * m->NbColumns);
+
+  return res;
+}
+
+CloogDomain *
+cloog_domain_matrix2domain (CloogMatrix * matrix)
+{
+  return cloog_domain_alloc (cloog_pol_from_matrix (matrix));
+}
+
+static CloogDomain *
+cloog_translate_ppl_polyhedron (ppl_Polyhedron_t p)
+{
+  polyhedron res = cloog_translate_ppl_polyhedron_1 (p);
+  return cloog_domain_alloc (res);
+}
+
+static void
+cloog_pol_print (FILE * file, polyhedron pol)
+{
+  unsigned dim, nbc;
+  int i, j;
+  Value *p;
+
+  if (!pol)
+    {
+      fprintf (file, "<null polyhedron>\n");
+      return;
+    }
+
+  dim = cloog_pol_dim (pol) + 2;
+  nbc = cloog_pol_nbc (pol);
+  fprintf (file, "POLYHEDRON Dimension:%d\n", cloog_pol_dim (pol));
+  fprintf (file,
+          "           Constraints:%d  Equations:%d\n",
+          cloog_pol_nbc (pol), cloog_pol_nbeq (pol));
+  fprintf (file, "Constraints %d %d\n", nbc, dim);
+
+  for (i = 0; i < (int) nbc; i++)
+    {
+      p = pol->Constraint[i];
+
+      if (value_notzero_p (*p))
+       fprintf (file, "Inequality: [");
+      else
+       fprintf (file, "Equality:   [");
+
+      p++;
+
+      for (j = 1; j < (int) dim; j++)
+       value_print (file, "%4s ", *p++);
+
+      fprintf (file, " ]\n");
+    }
+}
+
+void debug_poly (polyhedron p)
+{
+  cloog_pol_print (stderr, p);
+}
+
+void
+debug_ppl_poly (ppl_Polyhedron_t p)
+{
+  debug_poly (cloog_domain_polyhedron (cloog_translate_ppl_polyhedron (p)));
+}
+
+static inline int
+cloog_domain_references (CloogDomain * d)
+{
+  return d->_references;
+}
+
+/**
+ * cloog_domain_print function:
+ * This function prints the content of a CloogDomain structure (domain) into
+ * a file (foo, possibly stdout).
+ */
+void
+cloog_domain_print (FILE * foo, CloogDomain * domain)
+{
+  polyhedra_union upol = cloog_domain_upol (domain);
+
+  while (upol)
+    {
+      cloog_pol_print (foo, cloog_upol_polyhedron (upol));
+      upol = cloog_upol_next (upol);
+    }
+
+  fprintf (foo, "Number of active references: %d\n",
+          cloog_domain_references (domain));
+}
+
+/**
+ * cloog_domain_free function:
+ * This function frees the allocated memory for a CloogDomain structure
+ * (domain). It decrements the number of active references to this structure,
+ * if there are no more references on the structure, it frees it (with the
+ * included list of polyhedra).
+ */
+void
+cloog_domain_free (CloogDomain * domain)
+{
+  if (domain)
+    {
+      cloog_domain_set_references (domain,
+                                  cloog_domain_references (domain) - 1);
+
+      if (cloog_domain_references (domain) == 0)
+       {
+
+         polyhedra_union upol = cloog_domain_upol (domain);
+
+         while (upol)
+           {
+             polyhedra_union next_upol;
+
+             cloog_pol_free (cloog_upol_polyhedron (upol));
+             next_upol = cloog_upol_next (upol);
+             cloog_upol_free (upol);
+             upol = next_upol;
+           }
+
+         free (domain);
+       }
+    }
+}
+
+
+/**
+ * cloog_domain_copy function:
+ * This function returns a copy of a CloogDomain structure (domain). To save
+ * memory this is not a memory copy but we increment a counter of active
+ * references inside the structure, then return a pointer to that structure.
+ */
+CloogDomain *
+cloog_domain_copy (CloogDomain * domain)
+{
+  cloog_domain_set_references (domain, cloog_domain_references (domain) + 1);
+  return domain;
+}
+
+/**
+ * cloog_domain_convex function:
+ * Given a polyhedral domain (polyhedron), this function concatenates the lists
+ * of rays and lines of the two (or more) polyhedra in the domain into one
+ * combined list, and  find the set of constraints which tightly bound all of
+ * those objects. It returns the corresponding polyhedron.
+ */
+CloogDomain *
+cloog_domain_convex (CloogDomain * domain)
+{
+  CloogDomain *res;
+  ppl_Polyhedron_t p2;
+  polyhedra_union upol = cloog_domain_upol (domain);
+  CloogMatrix *m = cloog_upol_domain2matrix (upol);
+  ppl_Polyhedron_t p1 = cloog_translate_constraint_matrix (m);
+
+  cloog_matrix_free (m);
+  upol = cloog_upol_next (upol);
+  while (upol)
+    {
+      m = cloog_upol_domain2matrix (upol);
+      p2 = cloog_translate_constraint_matrix (m);
+      cloog_matrix_free (m);
+      ppl_Polyhedron_upper_bound_assign (p1, p2);
+      ppl_delete_Polyhedron (p2);
+
+      upol = cloog_upol_next (upol);
+    }
+
+  res = cloog_translate_ppl_polyhedron (p1);
+  ppl_delete_Polyhedron (p1);
+
+  return res;
+}
+
+int
+cloog_domain_isconvex (CloogDomain * domain)
+{
+  if (cloog_domain_polyhedron (domain))
+    return !cloog_upol_next (cloog_domain_upol (domain));
+
+  return 1;
+}
+
+/**
+ * cloog_domain_simple_convex:
+ * Given a list (union) of polyhedra, this function returns a "simple"
+ * convex hull of this union.  In particular, the constraints of the
+ * the returned polyhedron consist of (parametric) lower and upper
+ * bounds on individual variables and constraints that appear in the
+ * original polyhedra.
+ *
+ * nb_par is the number of parameters of the domain.
+ */
+CloogDomain *
+cloog_domain_simple_convex (CloogDomain * domain, int nb_par)
+{
+  fprintf (stderr, "cloog_domain_simple_convex (domain, nb_par = %d) is not implemented yet.\n", nb_par);
+  fprintf (stderr, "domain = \n");
+  cloog_domain_print (stderr, domain);
+  exit (1);
+}
+
+/* Returns non-zero when the constraint I in MATRIX is the positivity
+   constraint: "0 >= 0".  */
+
+static int
+cloog_positivity_constraint_p (CloogMatrix *matrix, int i, int dim)
+{
+  int j;
+
+  for (j = 1; j < dim; j++)
+    if (value_notzero_p (matrix->p[i][j]))
+      break;
+
+  return j == dim;
+}
+
+/* Simplifies DOM1 in the context of DOM2.  For example, DOM1 can
+   contain the following conditions: i >= 0, i <= 5, and DOM2 is a
+   loop around, i.e. the context of DOM1, that also contains the
+   conditions i >= 0, i <= 5.  So instead of generating a loop like:
+
+   | for (i = 0; i < 6; i++)
+   |   {
+   |     if (i >= 0 && i <= 5)
+   |       S;
+   |   }
+
+   this function allows to detect that in the context of DOM2, the
+   constraints of DOM1 are redundant, and so the following code should
+   be produced:
+
+   | for (i = 0; i < 6; i++)
+   |   S;
+  */
+
+#if USE_PPL_POWERSETS
+
+CloogDomain *
+cloog_domain_simplify (CloogDomain * dom1, CloogDomain * dom2)
+{
+  if (!dom1)
+    return dom1;
+  if (!dom2)
+    return dom2;
+
+  CloogDomain *res = NULL;
+
+  ppl_Pointset_Powerset_C_Polyhedron_t ps1, ps2;
+  ppl_dimension_type dim = cloog_domain_dim(dom1);
+  /* Translate dom1 into PPL powerset ps1. */
+  {
+    ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension(&ps1, dim, 1);
+    polyhedra_union u1;
+    for (u1 = cloog_domain_upol (dom1); u1; u1 = cloog_upol_next (u1))
+      {
+        CloogMatrix *m = cloog_upol_domain2matrix (u1);
+        ppl_const_Polyhedron_t ph = cloog_translate_constraint_matrix (m);
+        ppl_Pointset_Powerset_C_Polyhedron_add_disjunct(ps1, ph);
+        ppl_delete_Polyhedron(ph);
+        cloog_matrix_free (m);
+      }
+  }
+
+  /* Translate dom2 into PPL powerset ps2. */
+  {
+    ppl_new_Pointset_Powerset_C_Polyhedron_from_space_dimension(&ps2, dim, 1);
+    polyhedra_union u2;
+    for (u2 = cloog_domain_upol (dom2); u2; u2 = cloog_upol_next (u2))
+      {
+        CloogMatrix *m = cloog_upol_domain2matrix (u2);
+        ppl_Polyhedron_t ph = cloog_translate_constraint_matrix (m);
+        ppl_Pointset_Powerset_C_Polyhedron_add_disjunct(ps2, ph);
+        ppl_delete_Polyhedron(ph);
+        cloog_matrix_free (m);
+      }
+  }
+
+  ppl_Pointset_Powerset_C_Polyhedron_simplify_using_context_assign(ps1, ps2);
+
+  /* Translate back simplified ps1 into res. */
+  ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t i;
+  ppl_new_Pointset_Powerset_C_Polyhedron_const_iterator(&i);
+  ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t end;
+  ppl_new_Pointset_Powerset_C_Polyhedron_const_iterator(&end);
+  for (ppl_Pointset_Powerset_C_Polyhedron_const_iterator_begin(ps1, i),
+         ppl_Pointset_Powerset_C_Polyhedron_const_iterator_end(ps1, end);
+       !ppl_Pointset_Powerset_C_Polyhedron_const_iterator_equal_test(i, end);
+       ppl_Pointset_Powerset_C_Polyhedron_const_iterator_increment(i))
+    {
+      ppl_const_Polyhedron_t ph;
+      ppl_Pointset_Powerset_C_Polyhedron_const_iterator_dereference(i, &ph);
+      res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (ph));
+    }
+
+  /* Final clean-up. */
+  ppl_delete_Pointset_Powerset_C_Polyhedron_const_iterator(i);
+  ppl_delete_Pointset_Powerset_C_Polyhedron_const_iterator(end);
+  ppl_delete_Pointset_Powerset_C_Polyhedron(ps1);
+  ppl_delete_Pointset_Powerset_C_Polyhedron(ps2);
+  return res;
+}
+
+#else /* !USE_PPL_POWERSETS */
+
+CloogDomain *
+cloog_domain_simplify (CloogDomain * dom1, CloogDomain * dom2)
+{
+  CloogDomain *res = NULL;
+  polyhedra_union u1, u2;
+  CloogDomain *inter = cloog_domain_intersection (dom1, dom2);
+
+  for (u1 = cloog_domain_upol (inter); u1; u1 = cloog_upol_next (u1))
+    {
+      CloogMatrix *m1 = cloog_upol_domain2matrix (u1);
+      ppl_Polyhedron_t p1 = cloog_translate_constraint_matrix (m1);
+
+      cloog_matrix_free (m1);
+      for (u2 = cloog_domain_upol (dom2); u2; u2 = cloog_upol_next (u2))
+       {
+         CloogMatrix *m2 = cloog_upol_domain2matrix (u2);
+         ppl_Polyhedron_t p2 = cloog_translate_constraint_matrix (m2);
+
+         cloog_matrix_free (m2);
+         ppl_Polyhedron_simplify_using_context_assign (p1, p2);
+         res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (p1));
+         ppl_delete_Polyhedron (p2);
+       }
+    }
+
+  return res;
+}
+
+#endif /* !USE_PPL_POWERSETS */
+
+static polyhedra_union
+cloog_upol_copy (polyhedra_union p)
+{
+  polyhedra_union res = cloog_new_upol (cloog_pol_copy (cloog_upol_polyhedron (p)));
+  polyhedra_union upol = res;
+
+  while (cloog_upol_next (p))
+    {
+      cloog_upol_set_next (upol, cloog_new_upol (cloog_pol_copy (cloog_upol_polyhedron (p))));
+      upol = cloog_upol_next (upol);
+      p = cloog_upol_next (p);
+    }
+
+  return res;
+}
+
+/* Adds to D1 the union of polyhedra from D2, with no checks of
+   redundancies between polyhedra.  */
+
+static CloogDomain *
+cloog_domain_add_domain (CloogDomain *d1, CloogDomain *d2)
+{
+  polyhedra_union upol;
+
+  if (!d1)
+    return d2;
+
+  if (!d2)
+    return d1;
+
+  upol = cloog_domain_upol (d1);
+  while (cloog_upol_next (upol))
+    upol = cloog_upol_next (upol);
+
+  cloog_upol_set_next (upol, cloog_domain_upol (d2));
+  return d1;
+}
+
+/**
+ * cloog_domain_union function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the union of two polyhedral domains (pol1) U (pol2) inside
+ * two CloogDomain structures.
+ */
+CloogDomain *
+cloog_domain_union (CloogDomain * dom1, CloogDomain * dom2)
+{
+  CloogDomain *res;
+  polyhedra_union head1, head2, tail1, tail2;
+  polyhedra_union d1, d2;
+
+  if (!dom1)
+    return dom2;
+
+  if (!dom2)
+    return dom1;
+
+  if (cloog_domain_dim (dom1) != cloog_domain_dim (dom2))
+    {
+      fprintf (stderr, "cloog_domain_union should not be called on domains of different dimensions.\n");
+      exit (1);
+    }
+
+  head1 = NULL;
+  tail1 = NULL;
+  for (d1 = cloog_domain_upol (dom1); d1; d1 = cloog_upol_next (d1))
+    {
+      int found = 0;
+      CloogMatrix *m1 = cloog_upol_domain2matrix (d1);
+      ppl_Polyhedron_t ppl1 = cloog_translate_constraint_matrix (m1);
+      cloog_matrix_free (m1);
+
+      for (d2 = cloog_domain_upol (dom2); d2; d2 = cloog_upol_next (d2))
+       {
+         CloogMatrix *m2 = cloog_upol_domain2matrix (d2);
+         ppl_Polyhedron_t ppl2 = cloog_translate_constraint_matrix (m2);
+         cloog_matrix_free (m2);
+
+         if (ppl_Polyhedron_contains_Polyhedron (ppl2, ppl1))
+           {
+             ppl_delete_Polyhedron (ppl2);
+             found = 1;
+             break;
+           }
+         ppl_delete_Polyhedron (ppl2);
+       }
+      ppl_delete_Polyhedron (ppl1);
+
+      if (!found)
+       {
+         if (!tail1)
+           {
+             head1 = cloog_upol_copy (d1);
+             tail1 = head1;
+           }
+         else
+           {
+             cloog_upol_set_next (tail1, cloog_upol_copy (d1));
+             tail1 = cloog_upol_next (tail1);
+           }
+       }
+    }
+
+  head2 = NULL;
+  tail2 = NULL;
+  for (d2 = cloog_domain_upol (dom2); d2; d2 = cloog_upol_next (d2))
+    {
+      int found = 0;
+      CloogMatrix *m2 = cloog_upol_domain2matrix (d2);
+      ppl_Polyhedron_t ppl2 = cloog_translate_constraint_matrix (m2);
+      cloog_matrix_free (m2);
+
+      for (d1 = head1; d1; d1 = cloog_upol_next (d1))
+       {
+         CloogMatrix *m1 = cloog_upol_domain2matrix (d1);
+         ppl_Polyhedron_t ppl1 = cloog_translate_constraint_matrix (m1);
+         cloog_matrix_free (m1);
+
+         if (ppl_Polyhedron_contains_Polyhedron (ppl1, ppl2))
+           {
+             ppl_delete_Polyhedron (ppl1);
+             found = 1;
+             break;
+           }
+         ppl_delete_Polyhedron (ppl1);
+       }
+      ppl_delete_Polyhedron (ppl2);
+
+      if (!found)
+       {
+         if (!tail2)
+           {
+             head2 = cloog_upol_copy (d2);
+             tail2 = head2;
+           }
+         else
+           {
+             cloog_upol_set_next (tail2, cloog_upol_copy (d2));
+             tail2 = cloog_upol_next (tail2);
+           }
+       }
+    }
+
+  if (!head1)
+    res = cloog_new_domain (head2);
+  else
+    {
+      cloog_upol_set_next (tail1, head2);
+      res = cloog_new_domain (head1);
+    }
+
+  return cloog_check_domain (res);
+}
+
+/**
+ * cloog_domain_intersection function:
+ * This function returns a new CloogDomain structure including a polyhedral
+ * domain which is the intersection of two polyhedral domains (pol1)inter(pol2)
+ * inside two CloogDomain structures.
+ */
+CloogDomain *
+cloog_domain_intersection (CloogDomain * dom1, CloogDomain * dom2)
+{
+  CloogDomain *res = NULL;
+  polyhedra_union p1, p2;
+  ppl_Polyhedron_t ppl1, ppl2;
+
+  for (p1 = cloog_domain_upol (dom1); p1; p1 = cloog_upol_next (p1))
+    {
+      CloogMatrix *m1 = cloog_upol_domain2matrix (p1);
+      ppl1 = cloog_translate_constraint_matrix (m1);
+      cloog_matrix_free (m1);
+
+      for (p2 = cloog_domain_upol (dom2); p2; p2 = cloog_upol_next (p2))
+       {
+         CloogMatrix *m2 = cloog_upol_domain2matrix (p2);
+         ppl2 = cloog_translate_constraint_matrix (m2);
+         cloog_matrix_free (m2);
+         ppl_Polyhedron_intersection_assign (ppl2, ppl1);
+         res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (ppl2));
+         ppl_delete_Polyhedron (ppl2);
+       }
+      ppl_delete_Polyhedron (ppl1);
+    }
+
+  return res;
+}
+
+/* Returns d1 minus d2.  */
+
+CloogDomain *
+cloog_domain_difference (CloogDomain * d1, CloogDomain * d2)
+{
+  CloogDomain *res = NULL, *d = d1;
+  polyhedra_union p1, p2;
+
+  if (cloog_domain_isempty (d2))
+    return cloog_domain_copy (d1);
+
+  for (p2 = cloog_domain_upol (d2); p2; p2 = cloog_upol_next (p2))
+    {
+      CloogMatrix *m2 = cloog_upol_domain2matrix (p2);
+
+      for (p1 = cloog_domain_upol (d); p1; p1 = cloog_upol_next (p1))
+       {
+         int i;
+         CloogMatrix *m1 = cloog_upol_domain2matrix (p1);
+
+         for (i = 0; i < m2->NbRows; i++)
+           {
+             ppl_Polyhedron_t p3;
+             ppl_Constraint_t cstr;
+
+             /* Don't handle "0 >= 0".  */
+             if (cloog_positivity_constraint_p (m2, i,
+                                                cloog_domain_dim (d) + 1))
+               continue;
+
+             /* Add the constraint "-m2[i] - 1 >= 0".  */
+             p3 = cloog_translate_constraint_matrix (m1);
+             cstr = cloog_translate_oppose_constraint (m2, i, -1, 1);
+             ppl_Polyhedron_add_constraint (p3, cstr);
+             ppl_delete_Constraint (cstr);
+             res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (p3));
+             ppl_delete_Polyhedron (p3);
+
+             /* For an equality, add the constraint "m2[i] - 1 >= 0".  */
+             if (cloog_matrix_row_is_eq_p (m2, i))
+               {
+                 p3 = cloog_translate_constraint_matrix (m1);
+                 cstr = cloog_translate_constraint (m2, i, -1, 1);
+                 ppl_Polyhedron_add_constraint (p3, cstr);
+                 ppl_delete_Constraint (cstr);
+                 res = cloog_domain_union (res, cloog_translate_ppl_polyhedron (p3));
+                 ppl_delete_Polyhedron (p3);
+               }
+           }
+         cloog_matrix_free (m1);
+       }
+      d = res;
+      res = NULL;
+      cloog_matrix_free (m2);
+    }
+
+  if (!d)
+    res = cloog_domain_empty (cloog_domain_dim (d2));
+  else
+    res = d;
+
+  return res;
+}
+
+/* Compares P1 to P2: returns 0 when the polyhedra don't overlap,
+   returns 1 when p1 >= p2, and returns -1 when p1 < p2.  The ">"
+   relation is the "contains" relation.  */
+
+static int
+cloog_domain_polyhedron_compare (CloogMatrix *m1, CloogMatrix *m2, int level, int nb_par, int dimension)
+{
+  int i, j;
+  ppl_Polyhedron_t q1, q2, q3, q4, q5, q;
+  ppl_Polyhedron_t p1, p2;
+
+  p1 = cloog_translate_constraint_matrix (m1);
+  if (ppl_Polyhedron_is_empty (p1))
+    {
+      ppl_delete_Polyhedron (p1);
+      return 0;
+    }
+
+  p2 = cloog_translate_constraint_matrix (m2);
+  if (ppl_Polyhedron_is_empty (p2))
+    {
+      ppl_delete_Polyhedron (p1);
+      ppl_delete_Polyhedron (p2);
+      return 0;
+    }
+
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q1, p1);
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q2, p2);
+
+  for (i = level; i < dimension - nb_par + 1; i++)
+    {
+      Value val;
+      ppl_Coefficient_t d;
+      ppl_Linear_Expression_t expr;
+      ppl_Generator_t g;
+
+      value_init (val);
+      value_set_si (val, 1);
+      ppl_new_Coefficient_from_mpz_t (&d, val);
+      ppl_new_Linear_Expression_with_dimension (&expr, dimension);
+      ppl_Linear_Expression_add_to_coefficient (expr, i - 1, d);
+      ppl_new_Generator (&g, expr, PPL_GENERATOR_TYPE_LINE, d);
+      ppl_Polyhedron_add_generator (q1, g);
+      ppl_Polyhedron_add_generator (q2, g);
+      ppl_delete_Generator (g);
+      ppl_delete_Linear_Expression (expr);
+      ppl_delete_Coefficient (d);
+    }
+
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q, q1);
+  ppl_Polyhedron_intersection_assign (q, q2);
+  ppl_delete_Polyhedron (q1);
+  ppl_delete_Polyhedron (q2);
+
+  if (ppl_Polyhedron_is_empty (q))
+    {
+      ppl_delete_Polyhedron (p1);
+      ppl_delete_Polyhedron (p2);
+      ppl_delete_Polyhedron (q);
+      return 0;
+    }
+
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q1, p1);
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q2, p2);
+  ppl_delete_Polyhedron (p1);
+  ppl_delete_Polyhedron (p2);
+
+  ppl_Polyhedron_intersection_assign (q1, q);
+  ppl_Polyhedron_intersection_assign (q2, q);
+
+  m1 = cloog_upol_domain2matrix (cloog_domain_upol (cloog_translate_ppl_polyhedron (q1)));
+  m2 = cloog_upol_domain2matrix (cloog_domain_upol (cloog_translate_ppl_polyhedron (q2)));
+
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q4, q);
+  for (i = 0; i < m1->NbRows; i++)
+    if (value_one_p (m1->p[i][0])
+       && value_pos_p (m1->p[i][level]))
+      {
+       ppl_Constraint_t c = cloog_translate_constraint (m1, i, 0, 1);
+       ppl_Polyhedron_add_constraint (q4, c);
+       ppl_delete_Constraint (c);
+      }
+
+  for (i = 0; i < m2->NbRows; i++)
+    if (value_one_p (m2->p[i][0])
+       && value_neg_p (m2->p[i][level]))
+      {
+       ppl_Constraint_t c = cloog_translate_constraint (m2, i, 0, 1);
+       ppl_Polyhedron_add_constraint (q4, c);
+       ppl_delete_Constraint (c);
+      }
+
+  if (ppl_Polyhedron_is_empty (q4))
+    {
+      ppl_delete_Polyhedron (q);
+      ppl_delete_Polyhedron (q1);
+      ppl_delete_Polyhedron (q2);
+      ppl_delete_Polyhedron (q4);
+      return 1;
+    }
+
+  ppl_delete_Polyhedron (q4);
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q3, q);
+  ppl_new_C_Polyhedron_from_C_Polyhedron (&q5, q);
+  for (i = 0; i < m1->NbRows; i++)
+    {
+      if (value_zero_p (m1->p[i][0]))
+       {
+         if (value_zero_p (m1->p[i][level]))
+           continue;
+
+         else if (value_neg_p (m1->p[i][level]))
+           {
+             ppl_Constraint_t c = cloog_translate_oppose_constraint (m1, i, 0, 1);
+             ppl_Polyhedron_add_constraint (q3, c);
+             ppl_delete_Constraint (c);
+           }
+
+         else
+           {
+             ppl_Constraint_t c = cloog_translate_constraint (m1, i, 0, 1);
+             ppl_Polyhedron_add_constraint (q3, c);
+             ppl_delete_Constraint (c);
+           }
+       }
+
+      else if (value_neg_p (m1->p[i][level]))
+       {
+         ppl_Constraint_t c = cloog_translate_oppose_constraint (m1, i, 0, 1);
+         ppl_Polyhedron_add_constraint (q3, c);
+         ppl_delete_Constraint (c);
+       }
+
+      else
+       continue;
+
+      ppl_delete_Polyhedron (q5);
+      ppl_new_C_Polyhedron_from_C_Polyhedron (&q5, q3);
+      for (j = 0; j < m2->NbRows; j++)
+       {
+         if (value_zero_p (m2->p[j][0]))
+           {
+             if (value_zero_p (m2->p[j][level]))
+               continue;
+
+             else if (value_pos_p (m2->p[j][level]))
+               {
+                 ppl_Constraint_t c = cloog_translate_oppose_constraint (m2, j, 0, 1);
+                 ppl_Polyhedron_add_constraint (q5, c);
+                 ppl_delete_Constraint (c);
+               }
+
+             else
+               {
+                 ppl_Constraint_t c = cloog_translate_constraint (m2, j, 0, 1);
+                 ppl_Polyhedron_add_constraint (q5, c);
+                 ppl_delete_Constraint (c);
+               }
+           }
+
+         else if (value_pos_p (m2->p[j][level]))
+           {
+             ppl_Constraint_t c = cloog_translate_oppose_constraint (m2, j, 0, 1);
+             ppl_Polyhedron_add_constraint (q5, c);
+             ppl_delete_Constraint (c);
+           }
+
+         else
+           continue;
+
+         if (!ppl_Polyhedron_is_empty (q5))
+           {
+             ppl_delete_Polyhedron (q);
+             ppl_delete_Polyhedron (q1);
+             ppl_delete_Polyhedron (q2);
+             ppl_delete_Polyhedron (q3);
+             ppl_delete_Polyhedron (q5);
+             return -1;
+           }
+
+         /* Reinitialize Q5.  */
+         ppl_delete_Polyhedron (q5);
+         ppl_new_C_Polyhedron_from_C_Polyhedron (&q5, q3);
+       }
+
+      /* Reinitialize Q3.  */
+      ppl_delete_Polyhedron (q3);
+      ppl_new_C_Polyhedron_from_C_Polyhedron (&q3, q);
+    }
+
+  cloog_matrix_free (m1);
+  cloog_matrix_free (m2);
+  ppl_delete_Polyhedron (q);
+  ppl_delete_Polyhedron (q1);
+  ppl_delete_Polyhedron (q2);
+  ppl_delete_Polyhedron (q3);
+  ppl_delete_Polyhedron (q5);
+  return 1;
+}
+
+/**
+ * cloog_domain_sort function:
+ * This function topologically sorts (nb_doms) domains. Here (doms) is an
+ * array of pointers to CloogDomains, (nb_doms) is the number of domains,
+ * (level) is the level to consider for partial ordering, (permut) if not
+ * NULL, is an array of (nb_doms) integers that contains a permutation
+ * specification after call in order to apply the topological sorting. 
+ */
+
+void
+cloog_domain_sort (CloogDomain **doms, unsigned nb_doms, unsigned level,
+                  unsigned nb_par, int *permut)
+{
+  int i, j, k, cmp;
+  unsigned char **follows;
+  int d;
+
+  if (!nb_doms)
+    return;
+
+  d = cloog_domain_dim (doms[0]);
+
+  follows = (unsigned char **) malloc (sizeof (unsigned char *) * nb_doms);
+  for (i = 0; i < nb_doms; ++i)
+    {
+      follows[i] = (unsigned char *) malloc (sizeof (unsigned char) * nb_doms);
+      for (j = 0; j < nb_doms; ++j)
+       follows[i][j] = 0;
+    }
+
+  for (i = 1; i < nb_doms; ++i)
+    {
+      for (j = 0; j < i; ++j)
+       {
+         CloogMatrix *m1, *m2;
+
+         if (follows[i][j] || follows[j][i])
+           continue;
+
+         m1 = cloog_upol_domain2matrix (cloog_domain_upol (doms[i]));
+         m2 = cloog_upol_domain2matrix (cloog_domain_upol (doms[j]));
+         cmp = cloog_domain_polyhedron_compare (m1, m2, level, nb_par, d);
+
+         if (!cmp)
+           continue;
+         if (cmp > 0)
+           {
+             follows[i][j] = 1;
+             for (k = 0; k < i; ++k)
+               follows[i][k] |= follows[j][k];
+           }
+         else
+           {
+             follows[j][i] = 1;
+             for (k = 0; k < i; ++k)
+               follows[k][i] |= follows[k][j];
+           }
+       }
+    }
+
+  for (i = 0, j = 0; i < nb_doms; j = (j + 1) % nb_doms)
+    {
+      for (k = 0; k < nb_doms; ++k)
+       if (follows[j][k])
+         break;
+      if (k < nb_doms)
+       continue;
+      for (k = 0; k < nb_doms; ++k)
+       follows[k][j] = 0;
+      follows[j][j] = 1;
+      permut[i] = 1 + j;
+      ++i;
+    }
+
+  for (i = 0; i < nb_doms; ++i)
+    free(follows[i]);
+  free(follows);
+}
+
+/**
+ * cloog_domain_empty function:
+ * This function allocates the memory space for a CloogDomain structure and
+ * sets its polyhedron to an empty polyhedron with 'dimension' dimensions.
+ * Then it returns a pointer to the allocated space.
+ * - June 10th 2005: first version.
+ */
+CloogDomain *
+cloog_domain_empty (int dimension)
+{
+  return cloog_domain_alloc (cloog_empty_polyhedron (dimension));
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_print_structure :
+ * this function is a more human-friendly way to display the CloogDomain data
+ * structure, it only shows the constraint system and includes an indentation
+ * level (level) in order to work with others print_structure functions.
+ * Written by Olivier Chorier, Luc Marchaud, Pierre Martin and Romain Tartiere.
+ * - April 24th 2005: Initial version.
+ * - May   26th 2005: Memory leak hunt.
+ * - June  16th 2005: (Ced) Integration in domain.c.
+ */
+void
+cloog_domain_print_structure (FILE * file, CloogDomain * domain, int level)
+{
+  int i;
+  CloogMatrix *matrix;
+
+  /* Go to the right level. */
+  for (i = 0; i < level; i++)
+    fprintf (file, "|\t");
+
+  if (domain != NULL)
+    {
+      fprintf (file, "+-- CloogDomain\n");
+
+      /* Print the matrix. */
+      matrix = cloog_upol_domain2matrix (cloog_domain_upol (domain));
+      cloog_matrix_print_structure (file, matrix, level);
+      cloog_matrix_free (matrix);
+
+      /* A blank line. */
+      for (i = 0; i < level + 1; i++)
+       fprintf (file, "|\t");
+      fprintf (file, "\n");
+    }
+  else
+    fprintf (file, "+-- Null CloogDomain\n");
+
+}
+
+
+/**
+ * cloog_domain_list_print function:
+ * This function prints the content of a CloogDomainList structure into a
+ * file (foo, possibly stdout).
+ * - November 6th 2001: first version.
+ */
+void
+cloog_domain_list_print (FILE * foo, CloogDomainList * list)
+{
+  while (list != NULL)
+    {
+      cloog_domain_print (foo, cloog_domain (list));
+      list = cloog_next_domain (list);
+    }
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_list_free function:
+ * This function frees the allocated memory for a CloogDomainList structure.
+ * - November 6th 2001: first version.
+ */
+void
+cloog_domain_list_free (CloogDomainList * list)
+{
+  CloogDomainList *temp;
+
+  while (list != NULL)
+    {
+      temp = cloog_next_domain (list);
+      cloog_domain_free (cloog_domain (list));
+      free (list);
+      list = temp;
+    }
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_read function:
+ * Adaptation from the PolyLib. This function reads a matrix into a file (foo,
+ * posibly stdin) and returns a pointer to a polyhedron containing the read
+ * information.
+ * - October 18th 2001: first version.
+ */
+CloogDomain *
+cloog_domain_read (FILE * foo)
+{
+  CloogMatrix *matrix;
+  CloogDomain *domain;
+
+  matrix = cloog_matrix_read (foo);
+  domain = cloog_domain_matrix2domain (matrix);
+  cloog_matrix_free (matrix);
+
+  return domain;
+}
+
+
+/**
+ * cloog_domain_union_read function:
+ * This function reads a union of polyhedra into a file (foo, posibly stdin) and
+ * returns a pointer to a Polyhedron containing the read information.
+ * - September 9th 2002: first version.
+ * - October  29th 2005: (debug) removal of a leak counting "correction" that
+ *                       was just false since ages.
+ */
+CloogDomain *
+cloog_domain_union_read (FILE * foo)
+{
+  int i, nb_components;
+  char s[MAX_STRING];
+  CloogDomain *domain, *temp, *old;
+
+  /* domain reading: nb_components (constraint matrices). */
+  while (fgets (s, MAX_STRING, foo) == 0);
+  while ((*s == '#' || *s == '\n') || (sscanf (s, " %d", &nb_components) < 1))
+    fgets (s, MAX_STRING, foo);
+
+  if (nb_components > 0)
+    {                          /* 1. first part of the polyhedra union, */
+      domain = cloog_domain_read (foo);
+      /* 2. and the nexts. */
+      for (i = 1; i < nb_components; i++)
+       {                       /* Leak counting is OK since next allocated domain is freed here. */
+         temp = cloog_domain_read (foo);
+         old = domain;
+         domain = cloog_domain_union (temp, old);
+         cloog_domain_free (temp);
+         cloog_domain_free (old);
+       }
+      return cloog_check_domain (domain);
+    }
+  else
+    return NULL;
+}
+
+
+/**
+ * cloog_domain_list_read function:
+ * This function reads a list of polyhedra into a file (foo, posibly stdin) and
+ * returns a pointer to a CloogDomainList containing the read information.
+ * - November 6th 2001: first version.
+ */
+CloogDomainList *
+cloog_domain_list_read (FILE * foo)
+{
+  int i, nb_pols;
+  char s[MAX_STRING];
+  CloogDomainList *list, *now, *next;
+
+
+  /* We read first the number of polyhedra in the list. */
+  while (fgets (s, MAX_STRING, foo) == 0);
+  while ((*s == '#' || *s == '\n') || (sscanf (s, " %d", &nb_pols) < 1))
+    fgets (s, MAX_STRING, foo);
+
+  /* Then we read the polyhedra. */
+  list = NULL;
+  if (nb_pols > 0)
+    {
+      list = (CloogDomainList *) malloc (sizeof (CloogDomainList));
+      cloog_set_domain (list, cloog_domain_read (foo));
+      cloog_set_next_domain (list, NULL);
+      now = list;
+      for (i = 1; i < nb_pols; i++)
+       {
+         next = (CloogDomainList *) malloc (sizeof (CloogDomainList));
+         cloog_set_domain (next, cloog_domain_read (foo));
+         cloog_set_next_domain (next, NULL);
+         cloog_set_next_domain (now, next);
+         now = cloog_next_domain (now);
+       }
+    }
+  return list;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+/**
+ * cloog_domain_isempty function:
+ * This function returns 1 if the polyhedron given as input is empty, 0
+ * otherwise.
+ * - October 28th 2001: first version.
+ */
+int
+cloog_domain_isempty (CloogDomain * domain)
+{
+  if (cloog_domain_polyhedron (domain) == NULL)
+    return 1;
+
+  if (cloog_upol_next (cloog_domain_upol (domain)))
+    return 0;
+
+  return (cloog_domain_dim (domain) < cloog_domain_nbeq (domain)) ? 1 : 0;
+}
+
+/**
+ * cloog_domain_project function:
+ * From Quillere's LoopGen 0.4. This function returns the projection of
+ * (domain) on the (level) first dimensions (i.e. outer loops). It returns a
+ * pointer to the projected Polyhedron.
+ * - nb_par is the number of parameters.
+ **
+ * - October 27th 2001: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+CloogDomain *
+cloog_domain_project (CloogDomain * domain, int level, int nb_par)
+{
+  CloogDomain *res = NULL;
+  polyhedra_union upol = cloog_domain_upol (domain);
+  int i, diff = cloog_domain_dim (domain) - level - nb_par;
+  int n;
+  ppl_dimension_type *to_remove;
+
+  if (diff < 0)
+    {
+      fprintf (stderr, "cloog_domain_project should not be called with"
+              "cloog_domain_dim (domain) < level + nb_par");
+      exit (1);
+    }
+
+  if (diff == 0)
+    return cloog_domain_copy (domain);
+
+  n = diff;
+  to_remove = (ppl_dimension_type *) malloc (n * sizeof (ppl_dimension_type));
+
+  for (i = 0; i < n; i++)
+    to_remove[i] = i + level;
+
+  while (upol)
+    {
+      CloogMatrix *m1 = cloog_upol_domain2matrix (upol);
+      ppl_Polyhedron_t ppl = cloog_translate_constraint_matrix (m1);
+      cloog_matrix_free (m1);
+
+      ppl_Polyhedron_remove_space_dimensions (ppl, to_remove, n);
+      res = cloog_domain_add_domain (res, cloog_translate_ppl_polyhedron (ppl));
+      ppl_delete_Polyhedron (ppl);
+      upol = cloog_upol_next (upol);
+    }
+
+  free (to_remove);
+  return res;
+}
+
+/**
+ * cloog_domain_extend function:
+ * From Quillere's LoopGen 0.4. This function returns the (domain) given as
+ * input with (dim)+(nb_par) dimensions. The new dimensions are added before
+ * the (nb_par) parameters. This function does not free (domain), and returns
+ * a new polyhedron.
+ * - nb_par is the number of parameters.
+ **
+ * - October 27th 2001: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                 CLooG 0.12.1).
+ */
+CloogDomain *
+cloog_domain_extend (CloogDomain * domain, int dim, int nb_par)
+{
+  CloogDomain *res = NULL;
+  polyhedra_union upol = cloog_domain_upol (domain);
+  int i, k, n, diff = dim + nb_par - cloog_domain_dim (domain);
+  ppl_dimension_type *map;
+  ppl_dimension_type to_add = diff;
+
+  if (diff == 0)
+    return cloog_domain_copy (domain);
+
+  n = dim + nb_par;
+  map = (ppl_dimension_type *) malloc (n * sizeof (ppl_dimension_type));
+
+  k = cloog_domain_dim (domain) - nb_par;
+  for (i = 0; i < k; i++)
+    map[i] = i;
+
+  k += nb_par;
+  for (; i < k; i++)
+    map[i] = i + diff;
+
+  k += diff;
+  for (; i < k; i++)
+    map[i] = i - nb_par;
+
+  while (upol)
+    {
+      CloogMatrix *mat = cloog_upol_domain2matrix (upol);
+      ppl_Polyhedron_t ppl = cloog_translate_constraint_matrix (mat);
+      cloog_matrix_free (mat);
+
+      ppl_Polyhedron_add_space_dimensions_and_embed (ppl, to_add);
+      ppl_Polyhedron_map_space_dimensions (ppl, map, n);
+      res = cloog_domain_add_domain (res, cloog_translate_ppl_polyhedron (ppl));
+      ppl_delete_Polyhedron (ppl);
+      upol = cloog_upol_next (upol);
+    }
+
+  free (map);
+  return res;
+}
+
+/**
+ * cloog_domain_never_integral function:
+ * For us, an equality like 3*i -4 = 0 is always false since 4%3 != 0. This
+ * function returns a boolean set to 1 if there is this kind of 'never true'
+ * constraint inside a polyhedron, 0 otherwise.
+ * - domain is the polyhedron to check,
+ **
+ * - November 28th 2001: first version.
+ * - June 26th 2003: for iterators, more 'never true' constraints are found
+ *                   (compare cholesky2 and vivien with a previous version),
+ *                   checking for the parameters created (compare using vivien).
+ * - June 28th 2003: Previously in loop.c and called
+ *                   cloog_loop_simplify_nevertrue, now here !
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ * - October 14th 2005: Complete rewriting, not faster but code quite shorter.
+ */
+int
+cloog_domain_never_integral (CloogDomain * domain)
+{
+  int i, dimension, nbc;
+  Value gcd, modulo;
+  polyhedron p;
+
+  if ((domain == NULL) || (cloog_domain_polyhedron (domain) == NULL))
+    return 1;
+
+  value_init_c (gcd);
+  value_init_c (modulo);
+  p = cloog_domain_polyhedron (domain);
+  dimension = cloog_domain_dim (domain) + 2;
+  nbc = cloog_domain_nbconstraints (domain);
+
+  /* For each constraint... */
+  for (i = 0; i < nbc; i++)
+    {                          /* If we have an equality and the scalar part is not zero... */
+      if (value_zero_p (p->Constraint[i][0]) &&
+         value_notzero_p (p->Constraint[i][dimension - 1]))
+       {                       /* Then we check whether the scalar can be divided by the gcd of the
+                                * unknown vector (including iterators and parameters) or not. If not,
+                                * there is no integer point in the polyhedron and we return 1.
+                                */
+         cloog_vector_gcd (&(p->Constraint[i][1]), dimension - 2, &gcd);
+         value_modulus (modulo,
+                        p->Constraint[i][dimension - 1],
+                        gcd);
+
+         if (value_notzero_p (modulo))
+           {
+             value_clear_c (gcd);
+             value_clear_c (modulo);
+             return 1;
+           }
+       }
+    }
+
+  value_clear_c (gcd);
+  value_clear_c (modulo);
+  return 0;
+}
+
+static int
+cloog_vector_matrix_smallest_column (Value * a, int n, int p, int q)
+{
+  int res, numero = 0, k, allzero;
+  Value minus, comp;
+  Value *c;
+
+  value_init (minus);
+  value_init (comp);
+  c = a + q - 1 + p * (n - 1);
+  allzero = 1;
+  value_absolute (comp, *c);
+
+  for (k = n; k > q; k--, c -= p, value_absolute (comp, *c))
+    {
+      if (value_notzero_p (comp))
+       {
+         if (allzero == 1)
+           {
+             value_assign (minus, comp);
+             numero = k;
+             allzero = 0;
+           }
+         else if (value_ge (minus, comp))
+           {
+             value_assign (minus, comp);
+             numero = k;
+           }
+       }
+    }
+
+  if (allzero)
+    res = 0;
+  else
+    {
+      value_absolute (comp, *c);
+      if ((value_notzero_p (comp)) && (value_ge (minus, comp)))
+       res = q;
+      else
+       res = numero;
+    }
+
+  value_clear (minus);
+  value_clear (comp);
+
+  return res;
+}
+
+static void
+cloog_vector_matrix_swap_rows (Value * a, int i, int j, int p)
+{
+  int k;
+  Value *c1 = a + (i - 1) * p;
+  Value *c2 = a + (j - 1) * p;
+  Value s;
+
+  value_init (s);
+
+  for (k = 1; k <= p; k++)
+    {
+      value_assign (s, *c1);
+      value_assign (*c1, *c2);
+      value_assign (*c2, s);
+      c1++;
+      c2++;
+    }
+  value_clear (s);
+  return;
+}
+
+static void
+cloog_vector_matrix_swap_columns (Value * a, int i, int j, int n, int p)
+{
+  int k;
+  Value s;
+  Value *c1, *c2;
+
+  value_init (s);
+  c1 = a + (i - 1);
+  c2 = a + (j - 1);
+
+  for (k = 1; k <= n; k++)
+    {
+      value_assign (s, *c1);
+      value_assign (*c1, *c2);
+      value_assign (*c2, s);
+      c1 = c1 + p;
+      c2 = c2 + p;
+    }
+  value_clear (s);
+  return;
+}
+
+static void
+cloog_vector_matrix_oppose_line (Value * a, int i, int p)
+{
+  int k;
+  Value *c = a + (i - 1) * p;
+
+  for (k = 1; k <= p; k++, c++)
+    value_oppose (*c, *c);
+}
+
+static void
+cloog_vector_matrix_oppose_column (Value * a, int i, int n, int p)
+{
+  int k;
+  Value *c = a + (i - 1);
+
+  for (k = 1; k <= n; k++, c += p)
+    value_oppose (*c, *c);
+}
+
+static void
+cloog_vector_matrix_combine_line (Value * a, int i, int j,
+                                 Value x, int p)
+{
+  int k;
+  Value *c1 = a + (i - 1) * p;
+  Value *c2 = a + (j - 1) * p;
+
+  for (k = 1; k <= p; k++, c1++, c2++)
+    value_addmul (*c1, x, *c2);
+}
+
+static void
+cloog_vector_matrix_combine_column (Value * a, int i, int j, Value x, int n, int p)
+{
+  int k;
+  Value *c1 = a + (i - 1);
+  Value *c2 = a + (j - 1);
+
+  for (k = 1; k <= n; k++, c1 = c1 + p, c2 = c2 + p)
+    value_addmul (*c1, x, *c2);
+}
+
+static void
+cloog_matrix_hermite_combine (Value *a, Value *b, Value c, Value *d, int k, int n,
+                             int p, int q, Value pivot, Value x, Value x_inv)
+{
+  Value tmp;
+
+  value_init (tmp);
+  value_division (x, c, pivot);
+  value_modulus (tmp, c, pivot);
+
+  if (value_neg_p (tmp))
+    value_decrement (x, x);
+
+  value_clear (tmp);
+
+  value_oppose (x_inv, x);
+  cloog_vector_matrix_combine_line (a, k, q, x_inv, p);
+  cloog_vector_matrix_combine_column (b, q, k, x, n, n);
+  cloog_vector_matrix_combine_line (d, k, q, x_inv, n);
+}
+
+static void
+cloog_matrix_hermite_oppose (Value *a, Value *b, Value *d, int n, int p, int q, Value pivot)
+{
+  cloog_vector_matrix_oppose_line (a, q, p);
+  cloog_vector_matrix_oppose_line (d, q, n);
+  cloog_vector_matrix_oppose_column (b, q, n, n);
+  value_oppose (pivot, pivot);
+}
+
+static void
+cloog_matrix_hermite_1 (Value * a, Value * b, Value * d, int n, int p, int q)
+{
+  int i, k;
+  Value x, pivot, x_inv;
+  Value *c;
+
+  if (q > p || q > n)
+    return;
+
+  value_init (pivot);
+  value_init (x);
+  value_init (x_inv);
+
+  for (i = cloog_vector_matrix_smallest_column (a, n, p, q); i != 0;
+       i = cloog_vector_matrix_smallest_column (a, n, p, q))
+    {
+      if (i != q)
+       {
+         cloog_vector_matrix_swap_rows (a, i, q, p);
+         cloog_vector_matrix_swap_columns (b, i, q, n, n);
+         cloog_vector_matrix_swap_rows (d, i, q, n);
+       }
+
+      c = a + (q - 1) * (p + 1);
+      value_assign (pivot, *c);
+      if (value_neg_p (pivot))
+       cloog_matrix_hermite_oppose (a, b, d, n, p, q, pivot);
+
+      for (c += p, k = q + 1; k <= n; k++, c += p)
+       if (value_notzero_p (*c))
+         cloog_matrix_hermite_combine (a, b, *c, d, k, n, p, q, pivot, x, x_inv);
+    }
+
+  c = a + (q - 1);
+  value_assign (pivot, *(c + (q - 1) * p));
+  if (value_neg_p (pivot))
+    cloog_matrix_hermite_oppose (a, b, d, n, p, q, pivot);
+
+  if (value_notzero_p (pivot))
+    for (k = 1; k < q; k++, c += p)
+      if (value_notzero_p (*c))
+       cloog_matrix_hermite_combine (a, b, *c, d, k, n, p, q, pivot, x, x_inv);
+
+  cloog_matrix_hermite_1 (a, b, d, n, p, q + 1);
+
+  value_clear (pivot);
+  value_clear (x);
+  value_clear (x_inv);
+  return;
+}
+
+static CloogMatrix *
+cloog_matrix_add_null_row (CloogMatrix * M)
+{
+  int i, j;
+  CloogMatrix *res = cloog_matrix_alloc (M->NbRows + 1, M->NbColumns);
+
+  for (i = 0; i < M->NbRows; i++)
+    for (j = 0; j < M->NbColumns; j++)
+      value_assign (res->p[i][j], M->p[i][j]);
+
+  for (j = 0; j < M->NbColumns; j++)
+    value_set_si (res->p[i][j], 0);
+
+  return res;
+}
+
+static CloogMatrix *
+cloog_matrix_transpose (CloogMatrix * m)
+{
+  int i, j;
+  CloogMatrix *res = cloog_matrix_alloc (m->NbColumns, m->NbRows);
+
+  for (i = 0; i < (int) m->NbRows; i++)
+    for (j = 0; j < (int) m->NbColumns; j++)
+      value_assign (res->p[j][i], m->p[i][j]);
+
+  return res;
+}
+
+static Value *
+cloog_vector_matrix_vectorify (CloogMatrix * A)
+{
+  int i, j;
+  Value *res = (Value *) malloc (sizeof (Value) * A->NbRows * A->NbColumns);
+
+  for (i = 0; i < A->NbRows * A->NbColumns; i++)
+    value_init (res[i]);
+
+  for (i = 0; i < A->NbRows; i++)
+    for (j = 0; j < A->NbColumns; j++)
+      value_assign (res[i * A->NbColumns + j], A->p[i][j]);
+
+  return res;
+}
+
+static CloogMatrix *
+cloog_vector_matrix_matrixify (Value * A, int NbRows, int NbCols)
+{
+  int i, j;
+  CloogMatrix *res = cloog_matrix_alloc (NbRows, NbCols);
+
+  for (i = 0; i < NbRows; i++)
+    for (j = 0; j < NbCols; j++)
+      value_assign (res->p[i][j], A[i * NbCols + j]);
+
+  return res;
+}
+
+static Value *
+cloog_vector_matrix_identity (int n)
+{
+  int i, j;
+  Value *res = (Value *) malloc (sizeof (Value) * n * n);
+  Value *ptr = res;
+
+  for (i = 0; i < n * n; i++)
+    value_init (res[i]);
+
+  for (i = 1; i <= n; i++)
+    for (j = 1; j <= n; j++, ptr++)
+      if (i == j)
+       value_set_si (*ptr, 1);
+      else
+       value_set_si (*ptr, 0);
+
+  return res;
+}
+
+static void
+cloog_matrix_hermite (CloogMatrix * a, CloogMatrix ** H, CloogMatrix ** U)
+{
+  int i;
+  CloogMatrix *tu, *transpose = cloog_matrix_transpose (a);
+  Value *va = cloog_vector_matrix_vectorify (transpose);
+  Value *vid = cloog_vector_matrix_identity (a->NbColumns);
+  Value *vid_inv = cloog_vector_matrix_identity (a->NbColumns);
+
+  cloog_matrix_free (transpose);
+
+  cloog_matrix_hermite_1 (va, vid, vid_inv,
+                         a->NbColumns, a->NbRows, 1);
+
+  transpose = cloog_vector_matrix_matrixify (va, a->NbColumns, a->NbRows);
+  H[0] = cloog_matrix_transpose (transpose);
+  cloog_matrix_free (transpose);
+
+  tu = cloog_vector_matrix_matrixify (vid, a->NbColumns, a->NbColumns);
+  U[0] = cloog_matrix_transpose (tu);
+  cloog_matrix_free (tu);
+
+  for (i = 0; i < a->NbRows * a->NbColumns; i++)
+    value_clear (va[i]);
+
+  for (i = 0; i < a->NbColumns * a->NbColumns; i++)
+    value_clear (vid[i]);
+
+  for (i = 0; i < a->NbColumns * a->NbColumns; i++)
+    value_clear (vid_inv[i]);
+
+  free (va);
+  free (vid);
+  free (vid_inv);
+}
+
+static inline void
+cloog_exchange_rows (CloogMatrix * m, int row1, int row2)
+{
+  int i;
+
+  for (i = 0; i < (int) m->NbColumns; i++)
+    value_swap (m->p[row1][i], m->p[row2][i]);
+}
+
+static CloogMatrix *
+cloog_dio_copy_submatrix (CloogMatrix * matrix)
+{
+  int i, j ;
+  CloogMatrix * copy = cloog_matrix_alloc (matrix->NbRows - 1, matrix->NbColumns - 1) ;
+
+  for (i = 0; i < copy->NbRows; i++)
+    for (j = 0; j < copy->NbColumns; j++)
+      value_assign(copy->p[i][j], matrix->p[i][j]) ;
+
+  return copy;
+}
+
+static void
+cloog_dio_rearrange_redundant_rows (CloogMatrix * M)
+{
+  int i, end, row, rank = 1;
+  CloogMatrix *A, *L, *H, *U;
+
+  L = cloog_dio_copy_submatrix (M);
+  if (L->NbRows < 2)
+    goto done;
+
+  A = cloog_matrix_alloc (1, L->NbColumns);
+  for (i = 0; i < L->NbColumns; i++)
+    value_assign (A->p[0][i], L->p[0][i]);
+
+  end = L->NbRows - 1;
+  row = 1;
+
+  while (1)
+    {
+      int n;
+      CloogMatrix *temp = cloog_matrix_add_null_row (A);
+
+      for (i = 0; i < A->NbColumns; i++)
+       value_assign (temp->p[row][i], L->p[row][i]);
+
+      cloog_matrix_hermite (temp, &H, &U);
+      cloog_matrix_free (U);
+
+      n = H->NbRows;
+      for (i = 0; i < n; i++)
+       if (value_zero_p (H->p[i][i]))
+         break;
+
+      cloog_matrix_free (H);
+
+      if (i != n)
+       {
+         /* This is a redundant row: put it at the end.  */
+         cloog_exchange_rows (M, row, end);
+         end--;
+       }
+      else
+       {
+         row++;
+         rank++;
+         cloog_matrix_free (A);
+         A = cloog_matrix_copy (temp);
+         cloog_matrix_free (temp);
+       }
+
+      if (rank == (end >= L->NbColumns ? L->NbColumns : end)
+         || row >= end)
+       break;
+    }
+
+  cloog_matrix_free (A);
+
+ done:
+  cloog_matrix_free (L);
+  return;
+}
+
+static void
+cloog_matrix_inverse_pivot (CloogMatrix *m, int low, int up, int i, int j,
+                           Value m1, Value m2, Value x, Value piv)
+{
+  int c;
+
+  for (c = low; c < up; ++c)
+    {
+      value_multiply (m1, piv, m->p[j][c]);
+      value_multiply (m2, x, m->p[i][c]);
+      value_subtract (m->p[j][c], m1, m2);
+    }
+}
+
+static Value *
+cloog_matrix_inverse_den (CloogMatrix *Mat, CloogMatrix *MatInv, int k, Value *x)
+{
+  int j, c;
+  Value gcd;
+  Value *res = (Value *) malloc (k * sizeof (Value));
+  Value m1;
+
+  value_init (m1);
+  value_init (gcd);
+  value_set_si (*x, 1);
+
+  for (j = 0; j < cloog_matrix_nrows (Mat); ++j)
+    {
+      value_init (res[j]);
+      value_assign (res[j], Mat->p[j][j]);
+      cloog_vector_gcd (&MatInv->p[j][0], k, &gcd);
+      Gcd (gcd, res[j], &gcd);
+
+      if (value_neg_p (res[j]))
+       value_oppose (gcd, gcd);
+
+      if (value_notone_p (gcd))
+       {
+         for (c = 0; c < k; c++)
+           value_division (MatInv->p[j][c], MatInv->p[j][c], gcd);
+         value_division (res[j], res[j], gcd);
+       }
+
+      Gcd (*x, res[j], &gcd);
+      value_division (m1, res[j], gcd);
+      value_multiply (*x, *x, m1);
+    }
+
+  value_clear (m1);
+  value_clear (gcd);
+  return res;
+}
+
+static void
+cloog_matrix_inverse_div (CloogMatrix *MatInv, Value *den, Value m1, Value x)
+{
+  int j, c;
+
+  if (value_notone_p (x))
+    for (j = 0; j < MatInv->NbRows; ++j)
+      {
+       for (c = 0; c < MatInv->NbColumns; c++)
+         {
+           value_division (m1, x, den[j]);
+           value_multiply (MatInv->p[j][c], MatInv->p[j][c], m1);
+         }
+      }
+}
+
+static int
+cloog_matrix_inverse_triang (CloogMatrix *Mat, CloogMatrix *MatInv, Value *m1, Value *m2)
+{
+  int i, j;
+  Value gcd, piv, x;
+  int res = 0;
+
+  value_init (gcd);
+  value_init (piv);
+  value_init (x);
+
+  for (i = 0; i < cloog_matrix_ncolumns (Mat); ++i)
+    {
+      if (value_zero_p (Mat->p[i][i]))
+       {
+         for (j = i; j < cloog_matrix_nrows (Mat); ++j)
+           if (value_notzero_p (Mat->p[j][i]))
+             break;
+
+         if (j == cloog_matrix_nrows (Mat))
+           goto done;
+
+         cloog_matrix_exchange_rows (Mat, i, j);
+         cloog_matrix_exchange_rows (MatInv, i, j);
+       }
+
+      for (j = 0; j < cloog_matrix_nrows (Mat) ; ++j)
+       {
+         if (j == i
+             || !value_notzero_p (Mat->p[j][i]))
+           continue;
+
+         value_assign (x, Mat->p[j][i]);
+         value_assign (piv, Mat->p[i][i]);
+         Gcd (x, piv, &gcd);
+         if (value_notone_p (gcd))
+           {
+             value_division (x, x, gcd);
+             value_division (piv, piv, gcd);
+           }
+
+         cloog_matrix_inverse_pivot (Mat, ((j > i) ? i : 0),
+                                     cloog_matrix_nrows (Mat),
+                                     i, j, *m1, *m2, x, piv);
+         cloog_matrix_inverse_pivot (MatInv, 0, cloog_matrix_nrows (Mat),
+                                     i, j, *m1, *m2, x, piv);
+
+         cloog_vector_gcd (&MatInv->p[j][0], (unsigned) cloog_matrix_nrows (Mat), m1);
+         cloog_vector_gcd (&Mat->p[j][0], (unsigned) cloog_matrix_nrows (Mat), m2);
+         Gcd (*m1, *m2, &gcd);
+         if (value_notone_p (gcd))
+           {
+             int c;
+
+             for (c = 0; c < cloog_matrix_nrows (Mat); ++c)
+               {
+                 value_division (Mat->p[j][c], Mat->p[j][c], gcd);
+                 value_division (MatInv->p[j][c], MatInv->p[j][c], gcd);
+               }
+           }
+       }
+    }
+
+  res = 1;
+
+ done:
+  value_clear (x);
+  value_clear (piv);
+  value_clear (gcd);
+  return res;
+}
+
+static int
+cloog_matrix_inverse (CloogMatrix * Mat, CloogMatrix * MatInv)
+{
+  int res = 0;
+  int i, j;
+  Value x;
+  Value m1, m2;
+  Value *den;
+
+  if (Mat->NbRows != Mat->NbColumns)
+    return 0;
+
+  value_init (x);
+  value_init (m1);
+  value_init (m2);
+
+  cloog_vector_set (MatInv->p[0], 0, cloog_matrix_nrows (Mat) * cloog_matrix_nrows (Mat));
+
+  for (i = 0; i < cloog_matrix_nrows (Mat); ++i)
+    value_set_si (MatInv->p[i][i], 1);
+
+  if (!cloog_matrix_inverse_triang (Mat, MatInv, &m1, &m2))
+    goto done;
+
+  den = cloog_matrix_inverse_den (Mat, MatInv, cloog_matrix_nrows (Mat), &x);
+  cloog_matrix_inverse_div (MatInv, den, m1, x);
+
+  res = 1;
+
+  for (j = 0; j < cloog_matrix_nrows (Mat); ++j)
+    value_clear (den[j]);
+  free (den);
+
+ done:
+  value_clear (x);
+  value_clear (m1);
+  value_clear (m2);
+
+  return res;
+}
+
+static void
+cloog_dio_copy (CloogMatrix *m1, CloogMatrix *m2)
+{
+  int i, j;
+  int n = m2->NbRows - 1;
+  int m = m2->NbColumns - 1;
+
+  for (i = 0; i < n; i++)
+    for (j = 0; j < m; j++)
+      value_assign (m1->p[i][j], m2->p[i][j]);
+}
+
+static Value *
+cloog_dio_negate_coeffs (CloogMatrix *m)
+{
+  int i;
+  int n = m->NbRows - 1;
+  int k = m->NbColumns - 1;
+  Value *res = (Value *) malloc (sizeof (Value) * (n));
+
+  for (i = 0; i < n; i++)
+    {
+      value_init (res[i]);
+      value_oppose (res[i], m->p[i][k]);
+    }
+
+  return res;
+}
+
+static int
+cloog_dio_get_first_diagonal_zero (CloogMatrix *m)
+{
+  int i, n = m->NbRows <= m->NbColumns ? m->NbRows : m->NbColumns;
+  int res = 0;
+
+  for (i = 0; i < n; i++)
+    if (value_notzero_p (m->p[i][i]))
+      res++;
+    else
+      break;
+
+  return res;
+}
+
+static Value *
+cloog_dio_reduce_diagonal (CloogMatrix *m, Value *coeffs, int nbc, int rank)
+{
+  int i, j;
+  Value *res = (Value *) malloc (sizeof (Value) * nbc);
+  Value sum, tmp;
+
+  value_init (tmp);
+  value_init (sum);
+
+  for (i = 0; i < nbc; i++)
+    value_init (res[i]);
+
+  for (i = 0; i < rank; i++)
+    {
+      value_set_si (sum, 0);
+      for (j = 0; j < i; j++)
+       value_addmul (sum, res[j], m->p[i][j]);
+
+      value_subtract (tmp, coeffs[i], sum);
+      value_modulus (tmp, tmp, m->p[i][i]);
+      if (value_notzero_p (tmp))
+       {
+         for (i = 0; i < nbc; i++)
+           value_clear (res[i]);
+         free (res);
+
+         value_clear (tmp);
+         value_clear (sum);
+
+         return NULL;
+       }
+
+      value_subtract (tmp, coeffs[i], sum);
+      value_division (res[i], tmp, m->p[i][i]);
+    }
+
+  for (i = rank; i < m->NbColumns; i++)
+    value_set_si (res[i], 0);
+
+  value_clear (tmp);
+  value_clear (sum);
+
+  return res;
+}
+
+static int
+cloog_dio_check_coeffs (CloogMatrix *m, Value *T, Value *coeffs, int nbr, int nbc, int rank)
+{
+  int res = 1;
+  Value sum, tmp;
+  int i, j;
+
+  value_init (sum);
+  value_init (tmp);
+
+  for (i = rank; i < m->NbRows; i++)
+    {
+      value_set_si (sum, 0);
+      for (j = 0; j < m->NbColumns; j++)
+       value_addmul (sum, T[j], m->p[i][j]);
+
+      if (value_ne (sum, coeffs[i]))
+       {
+         for (i = 0; i < nbr; i++)
+           value_clear (coeffs[i]);
+         for (i = 0; i < nbc; i++)
+           value_clear (T[i]);
+         free (coeffs);
+         free (T);
+
+         res = 0;
+         goto clear;
+       }
+    }
+
+ clear:
+  value_clear (sum);
+  value_clear (tmp);
+  return res;
+}
+
+static CloogMatrix *
+cloog_dio_init_U (CloogMatrix *u, int n, int rank)
+{
+  int i, j;
+  CloogMatrix *res;
+
+  if (rank == n)
+    return cloog_matrix_alloc (0, 0);
+
+  res = cloog_matrix_alloc (n, n - rank);
+
+  for (i = 0; i < res->NbRows; i++)
+    for (j = 0; j < res->NbColumns; j++)
+      value_assign (res->p[i][j], u->p[i][j + rank]);
+
+  return res;
+}
+
+static Vector *
+cloog_dio_init_X (CloogMatrix *u, Value *t, int n)
+{
+  int i, j;
+  Vector *res = Vector_Alloc (n);
+  Value sum;
+
+  value_init (sum);
+  for (i = 0; i < u->NbRows; i++)
+    {
+      value_set_si (sum, 0);
+
+      for (j = 0; j < u->NbColumns; j++)
+       value_addmul (sum, u->p[i][j], t[j]);
+
+      value_assign (res->p[i], sum);
+    }
+
+  value_clear (sum);
+  return res;
+}
+
+static int
+cloog_solve_diophantine (CloogMatrix * m, CloogMatrix ** u, Vector ** x)
+{
+  int i, nbr, nbc, rank;
+  CloogMatrix *A, *temp, *hermi, *unimod, *unimodinv;
+  Value *coeffs;
+  Value *T;
+
+  A = cloog_matrix_copy (m);
+  nbr = A->NbRows - 1;
+
+  cloog_dio_rearrange_redundant_rows (A);
+
+  temp = cloog_matrix_alloc (A->NbRows - 1, A->NbColumns - 1);
+  cloog_dio_copy (temp, A);
+  coeffs = cloog_dio_negate_coeffs (A);
+  cloog_matrix_free (A);
+
+  cloog_matrix_hermite (temp, &hermi, &unimod);
+  rank = cloog_dio_get_first_diagonal_zero (hermi);
+  nbc = temp->NbColumns;
+
+  T = cloog_dio_reduce_diagonal (hermi, coeffs, nbc, rank);
+  unimodinv = cloog_matrix_alloc (unimod->NbRows, unimod->NbColumns);
+
+  if (!T
+      || !cloog_dio_check_coeffs (hermi, T, coeffs, nbr, nbc, rank)
+      || !cloog_matrix_inverse (unimod, unimodinv))
+    {
+      *u = cloog_matrix_alloc (0, 0);
+      *x = Vector_Alloc (0);
+
+      for (i = 0; i < nbr; i++)
+       value_clear (coeffs[i]);
+
+      free (coeffs);
+      return -1;
+    }
+
+  *u = cloog_dio_init_U (unimodinv, hermi->NbColumns, rank);
+  *x = cloog_dio_init_X (unimodinv, T, m->NbColumns - 1);
+
+  cloog_matrix_free (unimod);
+  cloog_matrix_free (unimodinv);
+  cloog_matrix_free (hermi);
+  cloog_matrix_free (temp);
+
+  for (i = 0; i < nbr; i++)
+    value_clear (coeffs[i]);
+
+  for (i = 0; i < nbc; i++)
+    value_clear (T[i]);
+
+  free (coeffs);
+  free (T);
+  return rank;
+}
+
+/**
+ * cloog_domain_stride function:
+ * This function finds the stride imposed to unknown with the column number
+ * 'strided_level' in order to be integral. For instance, if we have a
+ * constraint like -i - 2j + 2k = 0, and we consider k, then k can be integral
+ * only if (i + 2j)%2 = 0. Then only if i%2 = 0. Then k imposes a stride 2 to
+ * the unknown i. The function returns the imposed stride in a parameter field.
+ * - domain is the set of constraint we have to consider,
+ * - strided_level is the column number of the unknown for which a stride have
+ *   to be found,
+ * - looking_level is the column number of the unknown that impose a stride to
+ *   the first unknown.
+ * - stride is the stride that is returned back as a function parameter.
+ * - offset is the value of the constant c if the condition is of the shape
+ *   (i + c)%s = 0, s being the stride.
+ **
+ * - June 28th 2003: first version.
+ * - July 14th 2003: can now look for multiple striding constraints and returns
+ *                   the GCD of the strides and the common offset.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+void
+cloog_domain_stride (CloogDomain *domain, int strided_level, int nb_par, Value *stride, Value *offset)
+{
+  int i;
+  int n_col, n_row, rank;
+  CloogMatrix *M;
+  CloogMatrix *U;
+  Vector *V;
+  polyhedron p = cloog_domain_polyhedron (domain);
+  int dimension = cloog_domain_dim (domain);
+  int nbeq = cloog_domain_nbeq (domain);
+
+  /* Look at all equalities involving strided_level and the inner
+   * iterators.  We can ignore the outer iterators and the parameters
+   * here because the lower bound on strided_level is assumed to
+   * be a constant.
+   */
+  n_col = (1 + dimension - nb_par) - strided_level;
+  for (i = 0, n_row = 0; i < nbeq; i++)
+    if (cloog_first_non_zero
+       (p->Constraint[i] + strided_level, n_col) != -1)
+      ++n_row;
+
+  M = cloog_matrix_alloc (n_row + 1, n_col + 1);
+  for (i = 0, n_row = 0; i < nbeq; i++)
+    {
+      if (cloog_first_non_zero
+         (p->Constraint[i] + strided_level, n_col) == -1)
+       continue;
+      cloog_vector_copy (p->Constraint[i] + strided_level,
+                        M->p[n_row], n_col);
+      value_assign (M->p[n_row][n_col],
+                   p->Constraint[i][1 + dimension]);
+      ++n_row;
+    }
+  value_set_si (M->p[n_row][n_col], 1);
+
+  /* Then look at the general solution to the above equalities. */
+  rank = cloog_solve_diophantine (M, &U, &V);
+  cloog_matrix_free (M);
+
+  if (rank == -1)
+    {
+      /* There is no solution, so the body of this loop will
+       * never execute.  We just leave the constraints alone here so
+       * that they will ensure the body will not be executed.
+       * We should probably propagate this information up so that
+       * the loop can be removed entirely.
+       */
+      value_set_si (*offset, 0);
+      value_set_si (*stride, 1);
+    }
+  else
+    {
+      /* Compute the gcd of the coefficients defining strided_level. */
+      cloog_vector_gcd (U->p[0], U->NbColumns, stride);
+      value_oppose (*offset, V->p[0]);
+      value_pmodulus (*offset, *offset, *stride);
+    }
+
+  cloog_matrix_free (U);
+  Vector_Free (V);
+  return;
+}
+
+
+/**
+ * cloog_domain_integral_lowerbound function:
+ * This function returns 1 if the lower bound of an iterator (such as its
+ * column rank in the constraint set 'domain' is 'level') is integral,
+ * 0 otherwise. If the lower bound is actually integral, the function fills
+ * the 'lower' field with the lower bound value.
+ * - June 29th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+int
+cloog_domain_integral_lowerbound (CloogDomain *domain, int level, Value *lower)
+{
+  int i, first_lower = 1, dimension, lower_constraint = -1, nbc;
+  Value iterator, constant, tmp;
+  polyhedron p = cloog_domain_polyhedron (domain);
+  dimension = cloog_domain_dim (domain);
+  nbc = cloog_domain_nbconstraints (domain);
+
+  /* We want one and only one lower bound (e.g. no equality, no maximum
+   * calculation...).
+   */
+  for (i = 0; i < nbc; i++)
+    if (value_zero_p (p->Constraint[i][0])
+       && value_notzero_p (p->Constraint[i][level]))
+      return 0;
+
+  for (i = 0; i < nbc; i++)
+    if (value_pos_p (p->Constraint[i][level]))
+      {
+       if (first_lower)
+         {
+           first_lower = 0;
+           lower_constraint = i;
+         }
+       else
+         return 0;
+      }
+
+  if (first_lower)
+    return 0;
+
+  /* We want an integral lower bound: no other non-zero entry except the
+   * iterator coefficient and the constant.
+   */
+  for (i = 1; i < level; i++)
+    if (value_notzero_p
+       (p->Constraint[lower_constraint][i]))
+      return 0;
+
+  for (i = level + 1; i <= dimension; i++)
+    if (value_notzero_p
+       (p->Constraint[lower_constraint][i]))
+      {
+       return 0;
+      }
+
+  value_init_c (iterator);
+  value_init_c (constant);
+  value_init_c (tmp);
+
+  /* If all is passed, then find the lower bound and return 1. */
+  value_assign (iterator,
+               p->Constraint[lower_constraint][level]);
+  value_oppose (constant,
+               p->Constraint[lower_constraint][dimension + 1]);
+
+  value_modulus (tmp, constant, iterator);
+  value_division (*lower, constant, iterator);
+
+  if (!(value_zero_p (tmp) || value_neg_p (constant)))
+    value_increment (*lower, *lower);
+
+  value_clear_c (iterator);
+  value_clear_c (constant);
+  value_clear_c (tmp);
+  return 1;
+}
+
+
+/**
+ * cloog_domain_lowerbound_update function:
+ * This function updates the integral lower bound of an iterator (such as its
+ * column rank in the constraint set 'domain' is 'level') into  'lower'.
+ * - Jun  29th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+void
+cloog_domain_lowerbound_update (CloogDomain *domain, int level, Value lower)
+{
+  int i;
+  int nbc = cloog_domain_nbconstraints (domain);
+  int dim = cloog_domain_dim (domain);
+  polyhedron p = cloog_domain_polyhedron (domain);
+
+  /* There is only one lower bound, the first one is the good one. */
+  for (i = 0; i < nbc; i++)
+    if (value_pos_p (p->Constraint[i][level]))
+      {
+       value_set_si (p->Constraint[i][level], 1);
+       value_oppose (p->Constraint[i][dim + 1], lower);
+       break;
+      }
+}
+
+
+/**
+ * cloog_domain_lazy_equal function:
+ * This function returns 1 if the domains given as input are the same, 0 if it
+ * is unable to decide. This function makes an entry-to-entry comparison between
+ * the constraint systems, if all the entries are the same, the domains are
+ * obviously the same and it returns 1, at the first difference, it returns 0.
+ * This is a very fast way to verify this property. It has been shown (with the
+ * CLooG benchmarks) that operations on equal domains are 17% of all the
+ * polyhedral computations. For 75% of the actually identical domains, this
+ * function answer that they are the same and allow to give immediately the
+ * trivial solution instead of calling the heavy general functions of PolyLib.
+ * - August 22th 2003: first version.
+ * - June 21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                   CLooG 0.12.1).
+ */
+int
+cloog_domain_lazy_equal (CloogDomain * d1, CloogDomain * d2)
+{
+  int i, j;
+  polyhedra_union u1 = cloog_domain_upol (d1);
+  polyhedra_union u2 = cloog_domain_upol (d2);
+
+  while (u1 && u2)
+    {
+      if ((cloog_upol_nbc (u1) != cloog_upol_nbc (u2)) ||
+         (cloog_upol_dim (u1) != cloog_upol_dim (u2)))
+       return 0;
+
+      for (i = 0; i < (int) cloog_upol_nbc (u1); i++)
+       for (j = 0; j < (int) cloog_upol_dim (u1) + 2; j++)
+         if (value_ne (cloog_upol_polyhedron (u1)->Constraint[i][j],
+                       cloog_upol_polyhedron (u2)->Constraint[i][j]))
+           return 0;
+
+      u1 = cloog_upol_next (u1);
+      u2 = cloog_upol_next (u2);
+    }
+
+  if (u1 || u2)
+    return 0;
+
+  return 1;
+}
+
+
+/**
+ * cloog_domain_lazy_block function:
+ * This function returns 1 if the two domains d1 and d2 given as input are the
+ * same (possibly except for a dimension equal to a constant where we accept
+ * a difference of 1) AND if we are sure that there are no other domain in
+ * the code generation problem that may put integral points between those of
+ * d1 and d2 (0 otherwise). In fact this function answers the question "can I
+ * safely consider the two domains as only one with two statements (a block) ?".
+ * This function is lazy: it asks for very standard scattering representation
+ * (only one constraint per dimension which is an equality, and the constraints
+ * are ordered per dimension depth: the left hand side of the constraint matrix
+ * is the identity) and will answer NO at the very first problem.
+ * - d1 and d2 are the two domains to check for blocking,
+ * - scattering is the linked list of all domains,
+ * - scattdims is the total number of scattering dimentions.
+ **
+ * - April   30th 2005: beginning
+ * - June     9th 2005: first working version.
+ * - June    10th 2005: debugging.
+ * - June    21rd 2005: Adaptation for GMP.
+ * - October 16th 2005: (debug) some false blocks have been removed.
+ */
+int
+cloog_domain_lazy_block (CloogDomain *d1, CloogDomain *d2, CloogDomainList *scattering, int scattdims)
+{
+  int i, j, difference = 0, different_constraint = 0, nbc;
+  int dim1, dim2;
+  Value date1, date2, date3, temp;
+  polyhedron p1, p2;
+
+  /* Some basic checks: we only accept convex domains, with same constraint
+   * and dimension numbers.
+   */
+  if (!cloog_domain_isconvex (d1) || !cloog_domain_isconvex (d2) ||
+      (cloog_domain_nbconstraints (d1) != cloog_domain_nbconstraints (d2)) ||
+      (cloog_domain_dim (d1) != cloog_domain_dim (d2)))
+    return 0;
+
+  p1 = cloog_domain_polyhedron (d1);
+  p2 = cloog_domain_polyhedron (d2);
+  nbc = cloog_domain_nbconstraints (d1);
+  dim1 = cloog_domain_dim (d1);
+  dim2 = cloog_domain_dim (d2);
+
+  /* There should be only one difference between the two domains, it
+   * has to be at the constant level and the difference must be of +1,
+   * moreover, after the difference all domain coefficient has to be 0.
+   * The matrix shape is:
+   *
+   * |===========|=====|<- 0 line
+   * |===========|=====|
+   * |===========|====?|<- different_constraint line (found here)
+   * |===========|0000=|
+   * |===========|0000=|<- pX->NbConstraints line
+   *  ^         ^     ^
+   *  |         |     |
+   *  |         |     (pX->Dimension + 2) column
+   *  |         scattdims column
+   *  0 column
+   */
+
+  value_init_c (temp);
+  for (i = 0; i < nbc; i++)
+    {
+      if (difference == 0)
+       {                       /* All elements except scalar must be equal. */
+         for (j = 0; j < dim1 + 1; j++)
+           if (value_ne (p1->Constraint[i][j],
+                         p2->Constraint[i][j]))
+             {
+               value_clear_c (temp);
+               return 0;
+             }
+         /* The scalar may differ from +1 (now j=(p1->Dimension + 1)). */
+         if (value_ne (p1->Constraint[i][j],
+                       p2->Constraint[i][j]))
+           {
+             value_increment (temp, p2->Constraint[i][j]);
+             if (value_ne (p1->Constraint[i][j], temp))
+               {
+                 value_clear_c (temp);
+                 return 0;
+               }
+             else
+               {
+                 difference = 1;
+                 different_constraint = i;
+               }
+           }
+       }
+      else
+       {                       /* Scattering coefficients must be equal. */
+         for (j = 0; j < (scattdims + 1); j++)
+           if (value_ne (p1->Constraint[i][j],
+                         p2->Constraint[i][j]))
+             {
+               value_clear_c (temp);
+               return 0;
+             }
+
+         /* Domain coefficients must be 0. */
+         for (; j < dim1 + 1; j++)
+           if (value_notzero_p (p1->Constraint[i][j])
+               || value_notzero_p (p2->Constraint[i][j]))
+             {
+               value_clear_c (temp);
+               return 0;
+             }
+
+         /* Scalar must be equal. */
+         if (value_ne (p1->Constraint[i][j],
+                       p2->Constraint[i][j]))
+           {
+             value_clear_c (temp);
+             return 0;
+           }
+       }
+    }
+  value_clear_c (temp);
+
+  /* If the domains are exactly the same, this is a block. */
+  if (difference == 0)
+    return 1;
+
+  /* Now a basic check that the constraint with the difference is an
+   * equality of a dimension with a constant.
+   */
+  for (i = 0; i <= different_constraint; i++)
+    if (value_notzero_p (p1->Constraint[different_constraint][i]))
+      return 0;
+
+  if (value_notone_p (p1->Constraint[different_constraint][different_constraint + 1]))
+    return 0;
+
+  for (i = different_constraint + 2; i < dim1 + 1; i++)
+    if (value_notzero_p (p1->Constraint[different_constraint][i]))
+      return 0;
+
+  /* For the moment, d1 and d2 are a block candidate. There remains to check
+   * that there is no other domain that may put an integral point between
+   * them. In our lazy test we ensure this property by verifying that the
+   * constraint matrices have a very strict shape: let us consider that the
+   * dimension with the difference is d. Then the first d dimensions are
+   * defined in their depth order using equalities (thus the first column begins
+   * with d zeroes, there is a d*d identity matrix and a zero-matrix for
+   * the remaining simensions). If a domain can put integral points between the
+   * domains of the block candidate, this means that the other entries on the
+   * first d constraints are equal to those of d1 or d2. Thus we are looking for
+   * such a constraint system, if it exists d1 and d2 is considered to not be
+   * a block, it is a bock otherwise.
+   *
+   *  1. Only equalities (for the first different_constraint+1 lines).
+   *  |  2. Must be the identity.
+   *  |  |    3. Must be zero.
+   *  |  |    |     4. Elements are equal, the last one is either date1 or 2.
+   *  |  |    |     |
+   *  | /-\ /---\ /---\
+   * |0|100|00000|=====|<- 0 line
+   * |0|010|00000|=====|
+   * |0|001|00000|====?|<- different_constraint line
+   * |*|***|*****|*****|
+   * |*|***|*****|*****|<- pX->NbConstraints line
+   *  ^   ^     ^     ^
+   *  |   |     |     |
+   *  |   |     |     (pX->Dimension + 2) column
+   *  |   |     scattdims column
+   *  |   different_constraint+1 column
+   *  0 column
+   */
+
+  /* Step 1 and 2. This is only necessary to check one domain because
+   * we checked that they are equal on this part before.
+   */
+  for (i = 0; i <= different_constraint; i++)
+    {
+      for (j = 0; j < i + 1; j++)
+       if (value_notzero_p (p1->Constraint[i][j]))
+         return 0;
+
+      if (value_notone_p (p1->Constraint[i][i + 1]))
+       return 0;
+
+      for (j = i + 2; j <= different_constraint + 1; j++)
+       if (value_notzero_p (p1->Constraint[i][j]))
+         return 0;
+    }
+
+  /* Step 3. */
+  for (i = 0; i <= different_constraint; i++)
+    for (j = different_constraint + 2; j <= scattdims; j++)
+      if (value_notzero_p (p1->Constraint[i][j]))
+       return 0;
+
+  value_init_c (date1);
+  value_init_c (date2);
+  value_init_c (date3);
+
+  /* Now we have to check that the two different dates are unique. */
+  value_assign (date1, p1->Constraint[different_constraint][dim1 + 1]);
+  value_assign (date2, p2->Constraint[different_constraint][dim2 + 1]);
+
+  /* Step 4. We check all domains except d1 and d2 and we look for at least
+   * a difference with d1 or d2 on the first different_constraint+1 dimensions.
+   */
+  while (scattering != NULL)
+    {
+      if ((cloog_domain (scattering) != d1)
+         && (cloog_domain (scattering) != d2))
+       {
+         CloogDomain *d3 = cloog_domain (scattering);
+         polyhedron p3 = cloog_domain_polyhedron (d3);
+         int dim3 = cloog_domain_dim (d3);
+
+         value_assign (date3,
+                       p3->Constraint[different_constraint][dim3 + 1]);
+         difference = 0;
+
+         if (value_ne (date3, date2) && value_ne (date3, date1))
+           difference = 1;
+
+         for (i = 0; (i < different_constraint) && (!difference); i++)
+           for (j = 0; (j < dim3 + 2) && !difference; j++)
+             if (value_ne
+                 (p1->Constraint[i][j],
+                  p3->Constraint[i][j]))
+               difference = 1;
+
+         for (j = 0; (j < dim3 + 1) && !difference; j++)
+           if (value_ne
+               (p1->Constraint[different_constraint][j],
+                p3->Constraint[different_constraint][j]))
+             difference = 1;
+
+         if (!difference)
+           {
+             value_clear_c (date1);
+             value_clear_c (date2);
+             value_clear_c (date3);
+             return 0;
+           }
+       }
+
+      scattering = cloog_next_domain (scattering);
+    }
+
+  value_clear_c (date1);
+  value_clear_c (date2);
+  value_clear_c (date3);
+  return 1;
+}
+
+
+/**
+ * cloog_domain_lazy_disjoint function:
+ * This function returns 1 if the domains given as input are disjoint, 0 if it
+ * is unable to decide. This function finds the unknown with fixed values in
+ * both domains (on a given constraint, their column entry is not zero and
+ * only the constant coefficient can be different from zero) and verify that
+ * their values are the same. If not, the domains are obviously disjoint and
+ * it returns 1, if there is not such case it returns 0.  This is a very fast
+ * way to verify this property. It has been shown (with the CLooG benchmarks)
+ * that operations on disjoint domains are 36% of all the polyhedral
+ * computations. For 94% of the actually identical domains, this
+ * function answer that they are disjoint and allow to give immediately the
+ * trivial solution instead of calling the heavy general functions of PolyLib.
+ * - August 22th 2003: first version.
+ * - June   21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                     CLooG 0.12.1).
+ */
+int
+cloog_domain_lazy_disjoint (CloogDomain * d1, CloogDomain * d2)
+{
+  int i1, j1, i2, j2, scat_dim, nbc1, nbc2;
+  int dim1, dim2;
+  Value scat_val;
+  polyhedron p1, p2;
+
+  if (!cloog_domain_isconvex (d1) || !cloog_domain_isconvex (d2))
+    return 0;
+
+  p1 = cloog_domain_polyhedron (d1);
+  p2 = cloog_domain_polyhedron (d2);
+  nbc1 = cloog_domain_nbconstraints (d1);
+  nbc2 = cloog_domain_nbconstraints (d2);
+  dim1 = cloog_domain_dim (d1);
+  dim2 = cloog_domain_dim (d2);
+  value_init_c (scat_val);
+
+  for (i1 = 0; i1 < nbc1; i1++)
+    {
+      if (value_notzero_p (p1->Constraint[i1][0]))
+       continue;
+
+      scat_dim = 1;
+      while (value_zero_p (p1->Constraint[i1][scat_dim]) &&
+            (scat_dim < dim1))
+       scat_dim++;
+
+      if (value_notone_p (p1->Constraint[i1][scat_dim]))
+       continue;
+      else
+       {
+         for (j1 = scat_dim + 1; j1 <= dim1; j1++)
+           if (value_notzero_p (p1->Constraint[i1][j1]))
+             break;
+
+         if (j1 != dim1 + 1)
+           continue;
+
+         value_assign (scat_val,
+                       p1->Constraint[i1][dim1 + 1]);
+
+         for (i2 = 0; i2 < nbc2; i2++)
+           {
+             for (j2 = 0; j2 < scat_dim; j2++)
+               if (value_notzero_p (p2->Constraint[i2][j2]))
+                 break;
+
+             if ((j2 != scat_dim)
+                 ||
+                 value_notone_p (p2->Constraint[i2][scat_dim]))
+               continue;
+
+             for (j2 = scat_dim + 1; j2 < dim2; j2++)
+               if (value_notzero_p (p2->Constraint[i2][j2]))
+                 break;
+
+             if (j2 != dim2)
+               continue;
+
+             if (value_ne
+                 (p2->Constraint[i2][dim2 + 1], scat_val))
+               {
+                 value_clear_c (scat_val);
+                 return 1;
+               }
+           }
+       }
+    }
+
+  value_clear_c (scat_val);
+  return 0;
+}
+
+
+/**
+ * cloog_domain_list_lazy_same function:
+ * This function returns 1 if two domains in the list are the same, 0 if it
+ * is unable to decide.
+ * - February 9th 2004: first version.
+ */
+int
+cloog_domain_list_lazy_same (CloogDomainList * list)
+{                              /*int i=1, j=1 ; */
+  CloogDomainList *current, *next;
+
+  current = list;
+  while (current != NULL)
+    {
+      next = cloog_next_domain (current);
+      /*j=i+1; */
+      while (next != NULL)
+       {
+         if (cloog_domain_lazy_equal (cloog_domain (current),
+                                      cloog_domain (next)))
+           {                   /*printf("Same domains: %d and %d\n",i,j) ; */
+             return 1;
+           }
+         /*j++ ; */
+         next = cloog_next_domain (next);
+       }
+      /*i++ ; */
+      current = cloog_next_domain (current);
+    }
+
+  return 0;
+}
+
+/**
+ * cloog_domain_cut_first function:
+ * this function returns a CloogDomain structure with everything except the
+ * first part of the polyhedra union of the input domain as domain. After a call
+ * to this function, there remains in the CloogDomain structure provided as
+ * input only the first part of the original polyhedra union.
+ * - April 20th 2005: first version, extracted from different part of loop.c.
+ */
+CloogDomain *
+cloog_domain_cut_first (CloogDomain * domain)
+{
+  CloogDomain *rest;
+
+  if (domain && cloog_domain_polyhedron (domain))
+    {
+      if (!cloog_upol_next (cloog_domain_upol (domain)))
+       return NULL;
+
+      rest = cloog_new_domain (cloog_upol_next (cloog_domain_upol (domain)));
+      cloog_upol_set_next (cloog_domain_upol (domain), NULL);
+    }
+  else
+    rest = NULL;
+
+  return cloog_check_domain (rest);
+}
+
+
+/**
+ * cloog_domain_lazy_isscalar function:
+ * this function returns 1 if the dimension 'dimension' in the domain 'domain'
+ * is scalar, this means that the only constraint on this dimension must have
+ * the shape "x.dimension + scalar = 0" with x an integral variable. This
+ * function is lazy since we only accept x=1 (further calculations are easier
+ * in this way).
+ * - June 14th 2005: first version.
+ * - June 21rd 2005: Adaptation for GMP.
+ */
+int
+cloog_domain_lazy_isscalar (CloogDomain * domain, int dimension)
+{
+  int i, j;
+  polyhedron p = cloog_domain_polyhedron (domain);
+  int nbc = cloog_domain_nbconstraints (domain);
+  int dim = cloog_domain_dim (domain);
+
+  /* For each constraint... */
+  for (i = 0; i < nbc; i++)
+    {                          /* ...if it is concerned by the potentially scalar dimension... */
+      if (value_notzero_p
+         (p->Constraint[i][dimension + 1]))
+       {                       /* ...check that the constraint has the shape "dimension + scalar = 0". */
+         for (j = 0; j <= dimension; j++)
+           if (value_notzero_p (p->Constraint[i][j]))
+             return 0;
+
+         if (value_notone_p
+             (p->Constraint[i][dimension + 1]))
+           return 0;
+
+         for (j = dimension + 2; j < dim + 1; j++)
+           if (value_notzero_p (p->Constraint[i][j]))
+             return 0;
+       }
+    }
+
+  return 1;
+}
+
+
+/**
+ * cloog_domain_scalar function:
+ * when we call this function, we know that "dimension" is a scalar dimension,
+ * this function finds the scalar value in "domain" and returns it in "value".
+ * - June 30th 2005: first version.
+ */
+void
+cloog_domain_scalar (CloogDomain * domain, int dimension, Value * value)
+{
+  int i;
+  polyhedron p = cloog_domain_polyhedron (domain);
+  int nbc = cloog_domain_nbconstraints (domain);
+  int dim = cloog_domain_dim (domain);
+
+  /* For each constraint... */
+  for (i = 0; i < nbc; i++)
+    {                          /* ...if it is the equality defining the scalar dimension... */
+      if (value_notzero_p
+         (p->Constraint[i][dimension + 1])
+         && value_zero_p (p->Constraint[i][0]))
+       {                       /* ...Then send the scalar value. */
+         value_assign (*value, p->Constraint[i][dim + 1]);
+         value_oppose (*value, *value);
+         return;
+       }
+    }
+
+  /* We should have found a scalar value: if not, there is an error. */
+  fprintf (stderr, "[CLooG]ERROR: dimension %d is not scalar as expected.\n",
+          dimension);
+  exit (0);
+}
+
+
+/**
+ * cloog_domain_erase_dimension function:
+ * this function returns a CloogDomain structure builds from 'domain' where
+ * we removed the dimension 'dimension' and every constraint considering this
+ * dimension. This is not a projection ! Every data concerning the
+ * considered dimension is simply erased.
+ * - June 14th 2005: first version.
+ * - June 21rd 2005: Adaptation for GMP.
+ */
+CloogDomain *
+cloog_domain_erase_dimension (CloogDomain * domain, int dimension)
+{
+  int i, j, mi, nb_dim, nbc;
+  CloogMatrix *matrix;
+  CloogDomain *erased;
+  polyhedron p = cloog_domain_polyhedron (domain);
+
+  nb_dim = cloog_domain_dim (domain);
+  nbc = cloog_domain_nbconstraints (domain);
+
+  /* The matrix is one column less and at least one constraint less. */
+  matrix = cloog_matrix_alloc (nbc - 1, nb_dim + 1);
+
+  /* mi is the constraint counter for the matrix. */
+  mi = 0;
+  for (i = 0; i < nbc; i++)
+    if (value_zero_p (p->Constraint[i][dimension + 1]))
+      {
+       for (j = 0; j <= dimension; j++)
+         value_assign (matrix->p[mi][j],
+                       p->Constraint[i][j]);
+
+       for (j = dimension + 2; j < nb_dim + 2; j++)
+         value_assign (matrix->p[mi][j - 1],
+                       p->Constraint[i][j]);
+
+       mi++;
+      }
+
+  erased = cloog_domain_matrix2domain (matrix);
+  cloog_matrix_free (matrix);
+
+  return cloog_check_domain (erased);
+}
+
+/* Number of polyhedra inside the union of disjoint polyhedra.  */
+
+unsigned
+cloog_domain_nb_polyhedra (CloogDomain * domain)
+{
+  unsigned res = 0;
+  polyhedra_union upol = cloog_domain_upol (domain);
+
+  while (upol)
+    {
+      res++;
+      upol = cloog_upol_next (upol);
+    }
+
+  return res;
+}
+
+void
+cloog_domain_print_polyhedra (FILE * foo, CloogDomain * domain)
+{
+  polyhedra_union upol = cloog_domain_upol (domain);
+
+  while (upol != NULL)
+    {
+      CloogMatrix *matrix = cloog_upol_domain2matrix (upol);
+      cloog_matrix_print (foo, matrix);
+      cloog_matrix_free (matrix);
+      upol = cloog_upol_next (upol);
+    }
+}
+
+void
+debug_cloog_domain (CloogDomain *domain)
+{
+  cloog_domain_print_polyhedra (stderr, domain);
+}
+
+void
+debug_cloog_matrix (CloogMatrix *m)
+{
+  cloog_matrix_print (stderr, m);
+}
+
+void
+debug_value (Value v)
+{
+  value_print (stderr, VALUE_FMT, v);
+}
+
+void
+debug_values (Value *p, int length)
+{
+  int i;
+  for (i = 0; i < length; i++)
+    debug_value (p[i]);
+}
+
+polyhedra_union cloog_new_upol (polyhedron p)
+{
+  polyhedra_union ppl =
+    (polyhedra_union) malloc (sizeof (struct polyhedra_union_s));
+  ppl->_polyhedron = p;
+  ppl->_next = NULL;
+  return ppl;
+}
+
+Vector *Vector_Alloc (unsigned length)
+{
+  unsigned i;
+  Vector *vector = (Vector *) malloc (sizeof (Vector));
+
+  vector->Size = length;
+  vector->p = (Value *) malloc (length * sizeof (Value));
+
+  for (i = 0; i < length; i++)
+    value_init (vector->p[i]);
+
+  return vector;
+}
+
+polyhedron cloog_new_pol (int dim, int nrows)
+{
+  int i;
+  polyhedron res = (polyhedron) malloc (sizeof (struct polyhedron_s));
+  int ncolumns = dim + 2;
+  int n = nrows * ncolumns;
+  Value *p = (Value *) malloc (n * sizeof (Value));
+
+  res->Dimension = dim;
+  res->NbConstraints = nrows;
+  res->Constraint = (Value **) malloc (nrows * sizeof (Value *));
+
+  for (i = 0; i < n; ++i)
+    value_init (p[i]);
+
+  for (i = 0; i < nrows; i++, p += ncolumns)
+    res->Constraint[i] = p;
+
+  return res;
+}
+
+
+/**
+ * cloog_domain_scatter function:
+ * This function add the scattering (scheduling) informations in a domain.
+ */
+CloogDomain *cloog_domain_scatter(CloogDomain *domain, CloogDomain *scatt)
+{ int scatt_dim ;
+  CloogDomain *ext, *newdom;
+  
+  scatt_dim = cloog_domain_dim(scatt) - cloog_domain_dim (domain);
+  ext = cloog_domain_extend (domain, scatt_dim, cloog_domain_dim(domain));
+  newdom = cloog_domain_intersection (ext, scatt);
+
+  cloog_domain_free(ext) ;
+  cloog_domain_free(domain);
+  
+  return newdom;
+}
diff --git a/source/ppl/matrix.c b/source/ppl/matrix.c
new file mode 100644 (file)
index 0000000..396483a
--- /dev/null
@@ -0,0 +1,629 @@
+
+   /**-------------------------------------------------------------------**
+    **                               CLooG                               **
+    **-------------------------------------------------------------------**
+    **                             matrix.c                              **
+    **-------------------------------------------------------------------**
+    **                    First version: april 17th 2005                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2005 Cedric Bastoul                                          *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <ctype.h>
+# include "cloog/cloog.h"
+#include "matrix.h"
+
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many CloogMatrix structures are allocated
+ * (cloog_matrix_allocated) and how many had been freed (cloog_matrix_freed).
+ * The special
+ * variable cloog_matrix_max gives the maximal number of CloogMatrix structures
+ * simultaneously alive (i.e. allocated and non-freed) in memory.
+ * - April 17th 2005: first version.
+ */
+
+
+int cloog_matrix_allocated = 0 ;
+int cloog_matrix_freed = 0 ;
+int cloog_matrix_max = 0 ;
+
+
+/******************************************************************************
+ *                              PolyLib interface                             *
+ ******************************************************************************/
+
+
+/**
+ * CLooG makes an intensive use of matrix operations and the PolyLib do
+ * the job. Here are the interfaces to all the PolyLib calls (CLooG uses 18
+ * PolyLib functions), with or without some adaptations. If another matrix
+ * library can be used, only these functions have to be changed.
+ */
+
+
+/**
+ * cloog_matrix_print function:
+ * This function prints the content of a CloogMatrix structure (matrix) into a
+ * file (foo, possibly stdout).
+ */
+void cloog_matrix_print(FILE * foo, CloogMatrix * matrix)
+{
+  Value *p;
+  int i, j;
+  int NbRows = matrix->NbRows;
+  int NbColumns = matrix->NbColumns;
+
+  fprintf (foo, "%d %d\n", NbRows, NbColumns);
+  if (NbColumns == 0)
+    {
+      fprintf (foo, "\n");
+      return;
+    }
+
+  for (i = 0; i < NbRows; i++)
+    {
+      p = *(matrix->p + i);
+
+      for (j = 0; j < NbColumns; j++)
+       value_print (foo, " " "%4s " " ", *p++);
+
+      fprintf (foo, "\n");
+    }
+}
+
+
+/**
+ * cloog_matrix_free function:
+ * This function frees the allocated memory for a CloogMatrix structure
+ * (matrix).
+ */
+void
+cloog_matrix_free (CloogMatrix * m)
+{
+  int n, i;
+
+  if (!m)
+    return;
+
+  if (!m->p)
+    {
+      free (m);
+      return;
+    }
+
+  n = cloog_matrix_nrows (m) * cloog_matrix_ncolumns (m);
+
+  for (i = 0; i < n; i++)
+    value_clear (m->p[0][i]);
+
+  free (m->p[0]);
+  free (m->p);
+  free (m);
+}
+
+/**
+ * cloog_matrix_alloc function:
+ * This function allocates the memory space for a CloogMatrix structure having
+ * nb_rows rows and nb_columns columns, it set its elements to 0.
+ */
+CloogMatrix *
+cloog_matrix_alloc (unsigned nb_rows, unsigned nb_columns)
+{
+  int i;
+  CloogMatrix *res = (CloogMatrix *) malloc (sizeof (struct cloog_matrix));
+
+  res->NbRows = nb_rows;
+  res->NbColumns = nb_columns;
+
+  if (nb_rows == 0 || nb_columns == 0)
+    res->p = (Value **) 0;
+
+  else
+    {
+      int n = nb_rows * nb_columns;
+      Value *p = (Value *) malloc (n * sizeof (Value));
+      res->p = (Value **) malloc (nb_rows * sizeof (Value *));
+
+      for (i = 0; i < n; ++i)
+       value_init (p[i]);
+
+      for (i = 0; i < (int) nb_rows; i++, p += nb_columns)
+       res->p[i] = p;
+    }
+
+  return res;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_loop_print_structure function:
+ * Displays a CloogMatrix structure (matrix) into a file (file, possibly stdout)
+ * in a way that trends to be understandable without falling in a deep
+ * depression or, for the lucky ones, getting a headache... It includes an
+ * indentation level (level) in order to work with others print_structure
+ * functions. Written by Olivier Chorier, Luc Marchaud, Pierre Martin and
+ * Romain Tartiere.
+ * - April 24th 2005: Initial version.
+ * - June   2nd 2005: (Ced) Extraction from cloog_loop_print_structure and
+ *                   integration in matrix.c.
+ * - June  22rd 2005: Adaptation for GMP.
+ */
+void cloog_matrix_print_structure(FILE * file, CloogMatrix * matrix, int level)
+{ int i, j ;
+  
+  /* Display the matrix. */
+  for (i=0; i<matrix->NbRows; i++)
+  { for(j=0; j<=level; j++)
+    fprintf(file,"|\t") ;
+      
+    fprintf(file,"[ ") ;
+      
+    for (j=0; j<matrix->NbColumns; j++)
+      { value_print(file,VALUE_FMT,matrix->p[i][j]) ;
+      fprintf(file," ") ;
+    }      
+
+    fprintf(file,"]\n") ;
+  }
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_matrix_read function:
+ * Adaptation from the PolyLib. This function reads a matrix into a file (foo,
+ * posibly stdin) and returns a pointer this matrix.
+ * October 18th 2001: first version.
+ * - April 17th 2005: this function moved from domain.c to here.
+ * - June  21rd 2005: Adaptation for GMP (based on S. Verdoolaege's version of
+ *                    CLooG 0.12.1).
+ */
+CloogMatrix * cloog_matrix_read(FILE * foo)
+{ unsigned NbRows, NbColumns ;
+  int i, j, n ;
+  char *c, s[MAX_STRING], str[MAX_STRING] ;
+  CloogMatrix * matrix ;
+  Value * p ;
+  
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#' || *s=='\n') || (sscanf(s," %u %u",&NbRows,&NbColumns)<2))
+  fgets(s,MAX_STRING,foo) ;
+  
+  matrix = cloog_matrix_alloc(NbRows,NbColumns) ;
+
+  if (!matrix->p)
+    return matrix;
+
+  p = matrix->p[0] ;
+  for (i=0;i<matrix->NbRows;i++) 
+  { do 
+    { c = fgets(s,MAX_STRING,foo) ;
+      while ((c != NULL) && isspace(*c) && (*c != '\n'))
+      c++ ;
+    }
+    while (c != NULL && (*c == '#' || *c == '\n'));
+    
+    if (c == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: not enough rows.\n") ;
+      exit(1) ;
+    }
+    for (j=0;j<matrix->NbColumns;j++) 
+    { if (c == NULL || *c == '#' || *c == '\n')
+      { fprintf(stderr, "[CLooG]ERROR: not enough columns.\n") ;
+        exit(1) ;
+      }
+      /* NdCed : Dans le n ca met strlen(str). */
+      if (sscanf(c,"%s%n",str,&n) == 0) 
+      { fprintf(stderr, "[CLooG]ERROR: not enough rows.\n") ;
+        exit(1) ;
+      }
+      value_read(*(p++),str) ;
+      c += n ;
+    }
+  }
+  
+  return(matrix) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * Function cloog_matrix_normalize:
+ * This function will modify the constraint system in such a way that when
+ * there is an equality depending on the element at level 'level', there are
+ * no more (in)equalities depending on this element. For instance, try
+ * test/valilache.cloog with options -f 8 -l 9, with and without the call
+ * to this function. At a given moment, for the level L we will have
+ * 32*P=L && L>=1 (P is a lower level), this constraint system cannot be
+ * translated directly into a source code. Thus, we normalize the domain to
+ * remove L from the inequalities. In our example, this leads to
+ * 32*P=L && 32*P>=1, that can be transated to the code
+ * if (P>=1) { L=32*P ; ... }. This function solves the DaeGon Kim bug.
+ * WARNING: Remember that if there is another call to Polylib after a call to
+ * this function, we have to recall this function.
+ *  -June    16th 2005: first version (adaptation from URGent June-7th-2005 by
+ *                      N. Vasilache).
+ * - June    21rd 2005: Adaptation for GMP.
+ * - November 4th 2005: Complete rewriting, simpler and faster. It is no more an
+ *                      adaptation from URGent. 
+ */
+void cloog_matrix_normalize(CloogMatrix * matrix, int level)
+{ int ref, i, j ;
+  Value factor_i, factor_ref, temp_i, temp_ref, gcd ;
+    
+  if (matrix == NULL)
+  return ;
+
+  /* Don't "normalize" the constant term. */
+  if (level == matrix->NbColumns-1)
+    return;
+
+  /* Let us find an equality for the current level that can be propagated. */
+  for (ref=0;ref<matrix->NbRows;ref++)
+    if (value_zero_p(matrix->p[ref][0])
+       && value_notzero_p(matrix->p[ref][level]))
+  { value_init_c(gcd) ;
+    value_init_c(temp_i) ;
+    value_init_c(temp_ref) ;
+    value_init_c(factor_i) ;
+    value_init_c(factor_ref) ;
+  
+    /* Row "ref" is the reference equality, now let us find a row to simplify.*/
+    for (i=ref+1;i<matrix->NbRows;i++)
+      if (value_notzero_p(matrix->p[i][level]))
+    { /* Now let us set to 0 the "level" coefficient of row "j" using "ref".
+       * First we compute the factors to apply to each row vector element.
+       */
+      Gcd(matrix->p[ref][level], matrix->p[i][level], &gcd) ;
+      value_division(factor_i,matrix->p[ref][level],gcd) ;
+      value_division(factor_ref,matrix->p[i][level],gcd) ;
+      
+      /* Maybe we are simplifying an inequality: factor_i must not be <0. */
+      if (value_neg_p(factor_i))
+      { value_absolute(factor_i,factor_i) ;
+        value_oppose(factor_ref,factor_ref) ;
+      }
+      
+      /* Now update the vector. */
+      for (j=1;j<matrix->NbColumns;j++)
+       { value_multiply(temp_i,factor_i,matrix->p[i][j]) ;
+         value_multiply(temp_ref,factor_ref,matrix->p[ref][j]) ;
+         value_substract(matrix->p[i][j], temp_i, temp_ref) ;
+      }
+    
+      /* Normalize (divide by GCD of all elements) the updated vector. */
+      cloog_vector_normalize(&(matrix->p[i][1]),matrix->NbColumns-1) ;
+    }
+    
+    value_clear_c(gcd) ;
+    value_clear_c(temp_i) ;
+    value_clear_c(temp_ref) ;
+    value_clear_c(factor_i) ;
+    value_clear_c(factor_ref) ;
+    break ;
+  }
+}
+
+
+/**
+ * cloog_matrix_equality_update function:
+ * this function updates a matrix of equalities where each row corresponds to
+ * the equality "=0" of an affine expression such that the entry at column
+ * "row" (="level") is not zero. This matrix is upper-triangular, except the
+ * row number "level-1" which has to be updated for the matrix to be triangular.
+ * The first element of each row gives the equality type and is not related to
+ * the expression which is equal to zero. This function achieves the processing.
+ * - equal is the matrix to be updated,
+ * - level gives the row that has to be updated (it is actually row "level-1"),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - September 20th 2005: first version.
+ */
+void cloog_matrix_equality_update(CloogMatrix * equal, int level, int nb_par)
+{ int i, j ;
+  Value gcd, factor_level, factor_outer, temp_level, temp_outer ;
+  
+  value_init_c(gcd) ;
+  value_init_c(temp_level) ;
+  value_init_c(temp_outer) ;
+  value_init_c(factor_level) ;
+  value_init_c(factor_outer) ;
+  
+  /* For each previous level, */
+  for (i=level-2;i>=0;i--)
+  { /* if the corresponding iterator is inside the current equality and is equal
+     * to something,
+     */
+    if (value_notzero_p(equal->p[level-1][i+1]) &&
+        value_notzero_p(equal->p[i][0]))
+    { /* Compute the Greatest Common Divisor. */ 
+      Gcd(equal->p[level-1][i+1],equal->p[i][i+1],&gcd) ;
+      
+      /* Compute the factors to apply to each row vector element. */
+      value_division(factor_level,equal->p[i][i+1],gcd) ;
+      value_division(factor_outer,equal->p[level-1][i+1],gcd) ;
+            
+      /* Now update the row 'level'. */
+      /* - the iterators, up to level, */
+      for (j=1;j<=level;j++)
+       { value_multiply(temp_level,factor_level,equal->p[level-1][j]) ;
+         value_multiply(temp_outer,factor_outer,equal->p[i][j]) ;
+         value_substract(equal->p[level-1][j], temp_level, temp_outer) ;
+      }
+      /* - between last useful iterator (level) and the first parameter, the
+       *   matrix is sparse (full of zeroes), we just do nothing there. 
+       * - the parameters and the scalar.
+       */
+      for (j=0;j<nb_par+1;j++)
+      { value_multiply(temp_level,factor_level,
+                       equal->p[level-1][equal->NbColumns-j-1]) ;
+        value_multiply(temp_outer,factor_outer,
+                       equal->p[i][equal->NbColumns-j-1]) ;
+        value_substract(equal->p[level-1][equal->NbColumns-j-1],
+                       temp_level, temp_outer) ;
+      }
+    }
+  }
+  
+  /* Normalize (divide by GCD of all elements) the updated equality. */
+  cloog_vector_normalize(&(equal->p[level-1][1]),equal->NbColumns-1) ;
+
+  value_clear_c(gcd) ;
+  value_clear_c(temp_level) ;
+  value_clear_c(temp_outer) ;
+  value_clear_c(factor_level) ;
+  value_clear_c(factor_outer) ;
+}
+
+
+/**
+ * cloog_matrix_copy function:
+ * this functions builds and returns a "hard copy" (not a pointer copy) of a
+ * CloogMatrix data structure.
+ * - October 26th 2005: first version.
+ */
+CloogMatrix * cloog_matrix_copy(CloogMatrix * matrix)
+{ int i, j ;
+  CloogMatrix * copy ;
+
+  copy = cloog_matrix_alloc(matrix->NbRows,matrix->NbColumns) ;
+  
+  for (i=0;i<matrix->NbRows;i++)
+    for (j=0;j<matrix->NbColumns;j++)
+      value_assign(copy->p[i][j], matrix->p[i][j]) ;
+  
+  return copy ;
+}
+
+
+/**
+ * cloog_matrix_vector_copy function:
+ * this function rutuns a hard copy of the vector "vector" of length "length"
+ * provided as input.
+ * - November 3rd 2005: first version.
+ */
+Value * cloog_matrix_vector_copy(Value * vector, int length)
+{ int i ;
+  Value * copy ;
+  
+  /* We allocate the memory space for the new vector, and we fill it with
+   * the original coefficients.
+   */
+  copy = (Value *)malloc(length * sizeof(Value)) ;
+  for (i=0;i<length;i++)
+  { value_init_c(copy[i]) ;
+    value_assign(copy[i],vector[i]) ;
+  }
+  
+  return copy ;
+}
+
+
+/**
+ * cloog_matrix_vector_simplify function:
+ * this function simplify an affine expression with its coefficients in
+ * "vector" of length "length" thanks to an equality matrix "equal" that gives
+ * for some elements of the affine expression an equality with other elements,
+ * preferably constants. For instance, if the vector contains i+j+3 and the
+ * equality matrix gives i=n and j=2, the vector is simplified to n+3 and is
+ * returned in a new vector.
+ * - vector is the array of affine expression coefficients
+ * - equal is the matrix of equalities,
+ * - length is the vector length,
+ * - level is a level we don't want to simplify (-1 if none),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - September 20th 2005: first version.
+ * - November   2nd 2005: (debug) we are simplifying inequalities, thus we are
+ *                        not allowed to multiply the vector by a negative
+ *                        constant.Problem found after a report of Michael
+ *                        Classen.
+ */
+Value * cloog_matrix_vector_simplify(Value *vector, CloogMatrix *equal,
+                                    int length, int level, int nb_par)
+{ int i, j ;
+  Value gcd, factor_vector, factor_equal, temp_vector, temp_equal, * simplified;
+  
+  simplified = cloog_matrix_vector_copy(vector,length) ;
+  
+  value_init_c(gcd) ;
+  value_init_c(temp_vector) ;
+  value_init_c(temp_equal) ;
+  value_init_c(factor_vector) ;
+  value_init_c(factor_equal) ;
+    
+  /* For each non-null coefficient in the vector, */
+  for (i=length-nb_par-2;i>0;i--)
+  if (i != level)
+  { /* if the coefficient in not null, and there exists a useful equality */
+    if ((value_notzero_p(simplified[i])) &&
+        (value_notzero_p(equal->p[i-1][0])))
+    { /* Compute the Greatest Common Divisor. */ 
+      Gcd(simplified[i],equal->p[i-1][i],&gcd) ;
+      
+      /* Compute the factors to apply to each row vector element. */
+      value_division(factor_vector,equal->p[i-1][i],gcd) ;
+      value_division(factor_equal,simplified[i],gcd) ;
+      
+      /* We are simplifying an inequality: factor_vector must not be <0. */
+      if (value_neg_p(factor_vector))
+      { value_absolute(factor_vector,factor_vector) ;
+        value_oppose(factor_equal,factor_equal) ;
+      }
+      
+      /* Now update the vector. */
+      /* - the iterators, up to the current level, */
+      for (j=1;j<=length-nb_par-2;j++)
+      { value_multiply(temp_vector,factor_vector,simplified[j]) ;
+        value_multiply(temp_equal,factor_equal,equal->p[i-1][j]) ;
+        value_substract(simplified[j],temp_vector,temp_equal) ;
+      }
+      /* - between last useful iterator (i) and the first parameter, the equal
+       *   matrix is sparse (full of zeroes), we just do nothing there. 
+       * - the parameters and the scalar.
+       */
+      for (j=0;j<nb_par+1;j++)
+      { value_multiply(temp_vector,factor_vector,simplified[length-1-j]) ;
+        value_multiply(temp_equal,factor_equal,
+                       equal->p[i-1][equal->NbColumns-j-1]) ;
+        value_substract(simplified[length-1-j],temp_vector,temp_equal) ;
+      }
+    }
+  }
+  
+  /* Normalize (divide by GCD of all elements) the updated vector. */
+  cloog_vector_normalize(&(simplified[1]),length-1) ;
+
+  value_clear_c(gcd) ;
+  value_clear_c(temp_vector) ;
+  value_clear_c(temp_equal) ;
+  value_clear_c(factor_vector) ;
+  value_clear_c(factor_equal) ;
+  
+  return simplified ;
+}
+
+
+/**
+ * cloog_matrix_simplify function:
+ * this function simplify all constraints inside the matrix "matrix" thanks to
+ * an equality matrix "equal" that gives for some elements of the affine
+ * constraint an equality with other elements, preferably constants.
+ * For instance, if a row of the matrix contains i+j+3>=0 and the equality
+ * matrix gives i=n and j=2, the constraint is simplified to n+3>=0. The
+ * simplified constraints are returned back inside a new simplified matrix.
+ * - matrix is the set of constraints to simplify,
+ * - equal is the matrix of equalities,
+ * - level is a level we don't want to simplify (-1 if none),
+ * - nb_par is the number of parameters of the program.
+ **
+ * - November 4th 2005: first version.
+ */
+CloogMatrix * 
+cloog_matrix_simplify (CloogMatrix *matrix, CloogMatrix *equal, int level, int nb_par)
+{ int i, j, k ;
+  Value * vector ;
+  CloogMatrix * simplified ;
+  
+  if (matrix == NULL)
+  return NULL ;
+  
+  /* The simplified matrix is such that each row has been simplified thanks
+   * to the "equal" matrix. We allocate the memory for the simplified matrix,
+   * then for each row of the original matrix, we compute the simplified
+   * vector and we copy its content into the according simplified row.
+   */
+  simplified = cloog_matrix_alloc(matrix->NbRows,matrix->NbColumns) ;
+  for (i=0;i<matrix->NbRows;i++)
+  { vector = cloog_matrix_vector_simplify(matrix->p[i],equal,matrix->NbColumns,
+                                          level,nb_par) ;
+    for (j=0;j<matrix->NbColumns;j++)
+    value_assign(simplified->p[i][j],vector[j]) ;
+    
+    cloog_matrix_vector_free(vector,matrix->NbColumns) ;
+  }
+  
+  /* After simplification, it may happen that few constraints are the same,
+   * we remove them here by replacing them with 0=0 constraints.
+   */
+  for (i=0;i<simplified->NbRows;i++)
+  for (j=i+1;j<simplified->NbRows;j++)
+  { for (k=0;k<simplified->NbColumns;k++)
+    if (value_ne(simplified->p[i][k],simplified->p[j][k]))
+    break ;
+    
+    if (k == matrix->NbColumns)
+    { for (k=0;k<matrix->NbColumns;k++)
+      value_set_si(simplified->p[j][k],0) ;
+    }
+  }
+  
+  return simplified ;
+}
+
+
+/**
+ * cloog_matrix_vector_free function:
+ * this function clears the elements of a vector "vector" of length "length",
+ * then frees the vector itself this is useful for the GMP version of CLooG
+ * which has to clear all elements.
+ * - October 29th 2005: first version.
+ */
+void cloog_matrix_vector_free(Value * vector, int length)
+{ int i ;
+  
+  for (i=0;i<length;i++)
+  value_clear_c(vector[i]) ;
+  free(vector) ;
+}
diff --git a/source/ppl/matrix.h b/source/ppl/matrix.h
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/source/pprint.c b/source/pprint.c
new file mode 100644 (file)
index 0000000..66ad83e
--- /dev/null
@@ -0,0 +1,407 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                             pprint.c                              **
+    **-------------------------------------------------------------------**
+    **                  First version: october 26th 2001                 **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+/* June    22nd 2005: General adaptation for GMP.
+ * October 26th 2005: General adaptation from CloogDomain to CloogMatrix data 
+ *                    structure for all constraint systems.
+ * October 27th 2005: General adaptation from CloogEqual to CloogMatrix data 
+ *                    structure for equality spreading.
+ */
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+#include <assert.h>
+# include "../include/cloog/cloog.h"
+
+
+/******************************************************************************
+ *                             Types                                          *
+ ******************************************************************************/
+
+
+
+/**
+ * This function returns a string containing the printing of a value (possibly
+ * an iterator or a parameter with its coefficient or a constant).
+ * - val is the coefficient or constant value,
+ * - name is a string containing the name of the iterator or of the parameter,
+ */
+static void pprint_term(FILE *dst, struct clast_term *t)
+{
+    if (t->var) {
+       if (value_one_p(t->val))
+           fprintf(dst, "%s", t->var);
+       else if (value_mone_p(t->val))
+           fprintf(dst, "-%s", t->var);
+        else {
+           value_print(dst, VALUE_FMT, t->val);
+           fprintf(dst, "*%s", t->var);
+       }
+    } else
+       value_print(dst, VALUE_FMT, t->val);
+}
+
+static void pprint_sum(FILE *dst, struct clast_reduction *r)
+{
+    int i;
+    struct clast_term *t;
+
+    assert(r->n >= 1);
+    assert(r->elts[0]->type == expr_term);
+    t = (struct clast_term *) r->elts[0];
+    pprint_term(dst, t);
+
+    for (i = 1; i < r->n; ++i) {
+       assert(r->elts[i]->type == expr_term);
+       t = (struct clast_term *) r->elts[i];
+       if (value_pos_p(t->val))
+           fprintf(dst, "+");
+       pprint_term(dst, t);
+    }
+}
+
+static void pprint_expr(struct cloogoptions *i, FILE *dst, struct clast_expr *e);
+
+static void pprint_binary(struct cloogoptions *i, FILE *dst, struct clast_binary *b)
+{
+    const char *s1 = NULL, *s2 = NULL, *s3 = NULL;
+    int group = b->LHS->type == expr_red && 
+               ((struct clast_reduction*) b->LHS)->n > 1;
+    if (i->language == LANGUAGE_FORTRAN) {
+       switch (b->type) {
+       case clast_bin_fdiv:
+           s1 = "FLOOR(REAL(", s2 = ")/REAL(", s3 = "))";
+           break;
+       case clast_bin_cdiv:
+           s1 = "CEILING(REAL(", s2 = ")/REAL(", s3 = "))";
+           break;
+       case clast_bin_div:
+           if (group)
+               s1 = "(", s2 = ")/", s3 = "";
+           else
+               s1 = "", s2 = "/", s3 = "";
+           break;
+       case clast_bin_mod:
+           s1 = "MOD(", s2 = ", ", s3 = ")";
+           break;
+       }
+    } else {
+       switch (b->type) {
+       case clast_bin_fdiv:
+           s1 = "floord(", s2 = ",", s3 = ")";
+           break;
+       case clast_bin_cdiv:
+           s1 = "ceild(", s2 = ",", s3 = ")";
+           break;
+       case clast_bin_div:
+           if (group)
+               s1 = "(", s2 = ")/", s3 = "";
+           else
+               s1 = "", s2 = "/", s3 = "";
+           break;
+       case clast_bin_mod:
+           if (group)
+               s1 = "(", s2 = ")%", s3 = "";
+           else
+               s1 = "", s2 = "%", s3 = "";
+           break;
+       }
+    }
+    fprintf(dst, "%s", s1);
+    pprint_expr(i, dst, b->LHS);
+    fprintf(dst, "%s", s2);
+    value_print(dst, VALUE_FMT, b->RHS);
+    fprintf(dst, "%s", s3);
+}
+
+static void pprint_minmax_f(struct cloogoptions *info, FILE *dst, struct clast_reduction *r)
+{
+    int i;
+    if (r->n == 0)
+       return;
+    fprintf(dst, r->type == clast_red_max ? "MAX(" : "MIN(");
+    pprint_expr(info, dst, r->elts[0]);
+    for (i = 1; i < r->n; ++i) {
+       fprintf(dst, ",");
+       pprint_expr(info, dst, r->elts[i]);
+    }
+    fprintf(dst, ")");
+}
+
+static void pprint_minmax_c(struct cloogoptions *info, FILE *dst, struct clast_reduction *r)
+{
+    int i;
+    for (i = 1; i < r->n; ++i)
+       fprintf(dst, r->type == clast_red_max ? "max(" : "min(");
+    if (r->n > 0)
+       pprint_expr(info, dst, r->elts[0]);
+    for (i = 1; i < r->n; ++i) {
+       fprintf(dst, ",");
+       pprint_expr(info, dst, r->elts[i]);
+       fprintf(dst, ")");
+    }
+}
+
+static void pprint_reduction(struct cloogoptions *i, FILE *dst, struct clast_reduction *r)
+{
+    switch (r->type) {
+    case clast_red_sum:
+       pprint_sum(dst, r);
+       break;
+    case clast_red_min:
+    case clast_red_max:
+       if (r->n == 1) {
+           pprint_expr(i, dst, r->elts[0]);
+           break;
+       }
+       if (i->language == LANGUAGE_FORTRAN)
+           pprint_minmax_f(i, dst, r);
+       else
+           pprint_minmax_c(i, dst, r);
+       break;
+    default:
+       assert(0);
+    }
+}
+
+void pprint_expr(struct cloogoptions *i, FILE *dst, struct clast_expr *e)
+{
+    if (!e)
+       return;
+    switch (e->type) {
+    case expr_term:
+       pprint_term(dst, (struct clast_term*) e);
+       break;
+    case expr_red:
+       pprint_reduction(i, dst, (struct clast_reduction*) e);
+       break;
+    case expr_bin:
+       pprint_binary(i, dst, (struct clast_binary*) e);
+       break;
+    default:
+       assert(0);
+    }
+}
+
+static void pprint_equation(struct cloogoptions *i, FILE *dst, struct clast_equation *eq)
+{
+    pprint_expr(i, dst, eq->LHS);
+    if (eq->sign == 0)
+       fprintf(dst, " == ");
+    else if (eq->sign > 0)
+       fprintf(dst, " >= ");
+    else
+       fprintf(dst, " <= ");
+    pprint_expr(i, dst, eq->RHS);
+}
+
+static void pprint_assignment(struct cloogoptions *i, FILE *dst, 
+                             struct clast_assignment *a)
+{
+    if (a->LHS)
+       fprintf(dst, "%s = ", a->LHS);
+    pprint_expr(i, dst, a->RHS);
+}
+
+static void pprint_user_stmt(struct cloogoptions *options, FILE *dst,
+                            struct clast_user_stmt *u)
+{
+    struct clast_stmt *t;
+    fprintf(dst, "S%d", cloog_statement_number (u->statement));
+    if (options->cpp || u->substitutions)
+       fprintf(dst, "(");
+    for (t = u->substitutions; t; t = t->next) {
+       assert(CLAST_STMT_IS_A(t, stmt_ass));
+       pprint_assignment(options, dst, (struct clast_assignment *)t);
+       if (t->next)
+           fprintf(dst, ",");
+    }
+    if (options->cpp || u->substitutions)
+       fprintf(dst, ")");
+    if (options->language != LANGUAGE_FORTRAN)
+       fprintf(dst, " ;");
+    fprintf(dst, "\n");
+}
+
+void pprint_stmt_list(struct cloogoptions *options, FILE *dst, int indent,
+                      struct clast_stmt *s);
+
+static void pprint_guard(struct cloogoptions *options, FILE *dst, int indent,
+                        struct clast_guard *g)
+{
+    int k;
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst,"IF ");
+    else
+       fprintf(dst,"if ");
+    if (g->n > 1)
+       fprintf(dst,"(");
+    for (k = 0; k < g->n; ++k) {
+       if (k > 0) {
+           if (options->language == LANGUAGE_FORTRAN)
+               fprintf(dst," .AND. ");
+           else
+               fprintf(dst," && ");
+       }
+       fprintf(dst,"(");
+        pprint_equation(options, dst, &g->eq[k]);
+       fprintf(dst,")");
+    }
+    if (g->n > 1)
+       fprintf(dst,")");
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst," THEN\n");
+    else
+       fprintf(dst," {\n");
+
+    pprint_stmt_list(options, dst, indent + INDENT_STEP, g->then);
+
+    fprintf(dst, "%*s", indent, "");
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst,"END IF\n"); 
+    else
+       fprintf(dst,"}\n"); 
+}
+
+static void pprint_for(struct cloogoptions *options, FILE *dst, int indent,
+                      struct clast_for *f)
+{
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst, "DO ");
+    else
+       fprintf(dst, "for (");
+
+    if (f->LB) {
+       fprintf(dst, "%s=", f->iterator);
+       pprint_expr(options, dst, f->LB);
+    } else if (options->language == LANGUAGE_FORTRAN) {
+       fprintf(stderr,"[CLooG]ERROR: unbounded loops not allowed in FORTRAN.\n");
+       exit(1);
+    }
+
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst,", ");
+    else
+       fprintf(dst,";");
+
+    if (f->UB) { 
+       if (options->language != LANGUAGE_FORTRAN)
+           fprintf(dst,"%s<=", f->iterator);
+       pprint_expr(options, dst, f->UB);
+    } else if (options->language == LANGUAGE_FORTRAN) {
+       fprintf(stderr,"[CLooG]ERROR: unbounded loops not allowed in FORTRAN.\n");
+       exit(1);
+    }
+
+    if (options->language == LANGUAGE_FORTRAN) {
+       if (value_gt_si(f->stride, 1))
+           value_print(dst, VALUE_FMT, f->stride);
+       fprintf(dst,"\n");
+    }
+    else {
+       if (value_gt_si(f->stride, 1)) {
+           fprintf(dst,";%s+=", f->iterator);
+           value_print(dst, VALUE_FMT") {\n", f->stride);
+      } else
+       fprintf(dst, ";%s++) {\n", f->iterator);
+    }
+
+    pprint_stmt_list(options, dst, indent + INDENT_STEP, f->body);
+
+    fprintf(dst, "%*s", indent, "");
+    if (options->language == LANGUAGE_FORTRAN)
+       fprintf(dst,"END DO\n") ; 
+    else
+       fprintf(dst,"}\n") ; 
+}
+
+void pprint_stmt_list(struct cloogoptions *options, FILE *dst, int indent,
+                      struct clast_stmt *s)
+{
+    for ( ; s; s = s->next) {
+       if (CLAST_STMT_IS_A(s, stmt_root))
+           continue;
+       fprintf(dst, "%*s", indent, "");
+       if (CLAST_STMT_IS_A(s, stmt_ass)) {
+           pprint_assignment(options, dst, (struct clast_assignment *) s);
+           if (options->language != LANGUAGE_FORTRAN)
+               fprintf(dst, " ;");
+           fprintf(dst, "\n");
+       } else if (CLAST_STMT_IS_A(s, stmt_user)) {
+           pprint_user_stmt(options, dst, (struct clast_user_stmt *) s);
+       } else if (CLAST_STMT_IS_A(s, stmt_for)) {
+           pprint_for(options, dst, indent, (struct clast_for *) s);
+       } else if (CLAST_STMT_IS_A(s, stmt_guard)) {
+           pprint_guard(options, dst, indent, (struct clast_guard *) s);
+       } else if (CLAST_STMT_IS_A(s, stmt_block)) {
+           fprintf(dst, "{\n");
+           pprint_stmt_list(options, dst, indent + INDENT_STEP, 
+                               ((struct clast_block *)s)->body);
+           fprintf(dst, "%*s", indent, "");
+           fprintf(dst, "}\n");
+       } else {
+           assert(0);
+       }
+    }
+}
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+/**
+ * These global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many Value variables have been allocated
+ * since in GMP mode they have to be freed (see domain.c for the declaration).
+ * - July 3rd->11th 2003: first version (memory leaks hunt and correction).
+ */
+
+extern int cloog_value_allocated ;
+extern int cloog_value_freed ;
+extern int cloog_value_max ;
+
+
+/******************************************************************************
+ *                       Pretty Printing (dirty) functions                    *
+ ******************************************************************************/
+
+void pprint(FILE *foo, struct clast_stmt *root, int indent, CloogOptions *options)
+{
+    pprint_stmt_list(options, foo, indent, root);
+}
diff --git a/source/program.c b/source/program.c
new file mode 100644 (file)
index 0000000..0587308
--- /dev/null
@@ -0,0 +1,1003 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                            program.c                              **
+    **-------------------------------------------------------------------**
+    **                 First version: october 25th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <sys/types.h>
+# include <sys/time.h>
+#include <stdarg.h>
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+# include <ctype.h>
+# include <unistd.h>
+# include "../include/cloog/cloog.h"
+#ifdef HAS_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many Value variables have been allocated
+ * since in GMP mode they have to be freed (see domain.c for the declaration).
+ * - July 3rd->11th 2003: first version (memory leaks hunt and correction).
+ */
+extern int cloog_value_allocated ;
+extern int cloog_value_freed ;
+extern int cloog_value_max ;
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_program_print function:
+ * this function is a human-friendly way to display the CloogProgram data
+ * structure, it shows all the different fields and includes an indentation
+ * level (level) in order to work with others print_structure functions.
+ * - July 1st 2005: first version based on the old cloog_program_print function.
+ */
+void cloog_program_print_structure(FILE *file, CloogProgram *program, int level)
+{ int i, j ;
+
+  /* Go to the right level. */
+  for (i=0; i<level; i++)
+  fprintf(file,"|\t") ;
+  
+  fprintf(file,"+-- CloogProgram\n") ;
+  
+  /* A blank line. */
+  for (i=0; i<=level+1; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"\n") ;
+  
+  /* Print the language. */
+  for (i=0; i<=level; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file, "Language: %c\n",cloog_program_language (program)) ;
+  
+  /* A blank line. */
+  for (i=0; i<=level+1; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"\n") ;
+
+  /* Print the scattering dimension number. */
+  for (i=0; i<=level; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"Scattering dimension number: %d\n",
+         cloog_program_nb_scattdims (program)) ;
+  
+  /* A blank line. */
+  for (i=0; i<=level+1; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"\n") ;
+  
+  /* Print the scalar scattering dimension informations. */
+  for (i=0; i<=level; i++)
+  fprintf(file,"|\t") ;
+  if (cloog_program_scaldims (program))
+    {
+      fprintf (file,"Scalar dimensions:");
+      for (i = 0; i < cloog_program_nb_scattdims (program); i++)
+       fprintf (file," %d:%d ", i, cloog_program_scaldim (program, i));
+      fprintf (file,"\n");
+    }
+  else
+    fprintf (file, "No scalar scattering dimensions\n");
+  
+  /* A blank line. */
+  for (i=0; i<=level+1; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"\n") ;
+
+  /* Print the parameter and the iterator names. */
+  cloog_names_print_structure (file, cloog_program_names (program), level + 1);
+  /* A blank line. */
+  for (i=0; i<=level+1; i++)
+  fprintf(file,"|\t") ;
+  fprintf(file,"\n") ;
+  
+  /* Print the context. */
+  cloog_domain_print_structure(file, cloog_program_context (program), level+1);
+    
+  /* Print the loop. */
+  cloog_loop_print_structure (file,cloog_program_loop (program), level + 1);
+
+  /* One more time something that is here only for a better look. */
+  for (j=0; j<2; j++)
+  { for (i=0; i<=level; i++)
+    fprintf(file,"|\t") ;
+      
+    fprintf(file,"\n") ;
+  }
+}
+
+
+/**
+ * cloog_program_dump_cloog function:
+ * This function dumps a CloogProgram structure supposed to be completely
+ * filled in a CLooG input file (foo possibly stdout) such as CLooG can
+ * rebuild almost exactly the data structure from the input file (the number
+ * of scattering functions is lost since they are included inside the
+ * iteration domains, this can only lead to a less beautiful pretty printing).
+ * WARNING: this function do not respect CloogDomain as an object.
+ * - June     27th 2003: first version.
+ * - May      15th 2005: (debug) several patches by Kristof Beyls.
+ * - November 16th 2005: adaptation for CLooG 0.14.0 structures.
+ */
+void cloog_program_dump_cloog(FILE * foo, CloogProgram * program)
+{ int i;
+  CloogLoop * loop ;
+
+  fprintf(foo,
+  "# CLooG -> CLooG\n"
+  "# This is an automatic dump of a CLooG input file from a CloogProgram data\n"
+  "# structure. WARNING: it is highly dangerous and MAY be correct ONLY if\n"
+  "# - it has been dumped before loop generation.\n"
+  "# - option -noscalars is used (it removes scalar dimensions otherwise)\n"
+  "# - option -l is at least the original scattering dimension number\n"
+  "# ASK THE AUTHOR IF YOU *NEED* SOMETHING MORE ROBUST\n") ;
+
+  /* Language. */
+  if (cloog_program_language (program) == 'c')
+  fprintf(foo,"# Language: C\n") ;
+  else
+  fprintf(foo,"# Language: FORTRAN\n") ;
+  fprintf(foo,"%c\n\n", cloog_program_language (program)) ;
+
+  /* Context. */
+  fprintf (foo,"# Context (%d parameter(s)):\n",
+          cloog_domain_dim (cloog_program_context (program)));
+  cloog_domain_print_structure (foo, cloog_program_context (program), 0);
+  fprintf(foo,"1 # Parameter name(s)\n") ;
+  for (i = 0; i < cloog_names_nb_parameters (cloog_program_names (program)); i++)
+    fprintf (foo, "%s ", cloog_names_parameter_elt (cloog_program_names (program), i));
+
+  /* Statement number. */
+  i = 0 ;
+  loop = cloog_program_loop (program);
+  while (loop != NULL)
+  { i++ ;
+    loop = cloog_loop_next (loop) ;
+  }
+  fprintf(foo,"\n\n# Statement number:\n%d\n\n",i) ;
+
+  /* Iteration domains. */
+  i = 1 ;
+  loop = cloog_program_loop (program) ;
+  while (loop != NULL)
+  { /* Name of the domain. */
+    fprintf(foo,"# Iteration domain of statement %d.\n",i) ;
+
+    /* Number of polyhedra inside the union of disjoint polyhedra.  */
+    fprintf (foo, "%d\n", cloog_domain_nb_polyhedra (cloog_loop_domain (loop))) ;
+
+    /* The polyhedra themselves. */
+    cloog_domain_print_polyhedra (foo, cloog_loop_domain (loop));
+    fprintf(foo,"0 0 0 # For future options.\n\n") ;
+    
+    i++ ;
+    loop = cloog_loop_next (loop) ;
+  }
+  fprintf(foo,"\n1 # Iterator name(s)\n") ;
+  for (i = 0; i < cloog_names_nb_scattering (cloog_program_names (program)); i++)
+    fprintf (foo, "%s ", cloog_names_scattering_elt (cloog_program_names (program), i));
+  for (i = 0; i < cloog_names_nb_iterators (cloog_program_names (program)); i++)
+    fprintf (foo, "%s ", cloog_names_iterator_elt (cloog_program_names (program), i));
+  fprintf(foo,"\n\n") ;
+
+  /* Scattering functions (none since included inside domains). */
+  fprintf(foo,"# No scattering functions.\n0\n\n") ;
+}
+
+
+/**
+ * cloog_program_print function:
+ * This function prints the content of a CloogProgram structure (program) into a
+ * file (file, possibly stdout).
+ * - July 1st 2005: Now this very old function (probably as old as CLooG) is
+ *                  only a frontend to cloog_program_print_structure, with a
+ *                  quite better human-readable representation.
+ */
+void cloog_program_print(FILE * file, CloogProgram * program)
+{ cloog_program_print_structure(file,program,0) ;
+}
+
+
+static void print_comment(FILE *file, CloogOptions *options,
+                         const char *fmt, ...)
+{
+  va_list args;
+
+  va_start(args, fmt);
+  if (options->language == LANGUAGE_FORTRAN) {
+    fprintf(file, "! ");
+    vfprintf(file, fmt, args);
+    fprintf(file, "\n");
+  } else {
+    fprintf(file, "/* ");
+    vfprintf(file, fmt, args);
+    fprintf(file, " */\n");
+  }
+  va_end (args);
+}
+
+/**
+ * cloog_program_pprint function:
+ * This function prints the content of a CloogProgram structure (program) into a
+ * file (file, possibly stdout), in a C-like language.
+ * - June 22nd 2005: Adaptation for GMP.
+ */
+void cloog_program_pprint(FILE *file, CloogProgram *program, CloogOptions *options)
+{ int i, j, nb_scattering, indentation=0 ;
+  CloogStatement * statement ;
+  CloogBlockList * blocklist ;
+  CloogBlock * block ;
+  struct clast_stmt *root;
+   
+  if (cloog_program_language (program) == 'f')
+    options->language = LANGUAGE_FORTRAN ;
+  else
+    options->language = LANGUAGE_C ;
+  print_comment(file, options, "Generated from %s by %s in %.2fs.",
+               options->name, cloog_version(), options->time);
+#ifdef CLOOG_MEMORY
+  print_comment(file, options, "CLooG asked for %d KBytes.", options->memory);
+  fprintf(stderr, "[CLooG]INFO: %.2fs and %dKB used for code generation.\n",
+         options->time,options->memory);
+#endif
+  
+  /* If the option "compilable" is set, we provide the whole stuff to generate
+   * a compilable code. This code just do nothing, but now the user can edit
+   * the source and set the statement macros and parameters values.
+   */
+  nb_scattering = cloog_program_nb_scattdims (program) ;
+  if (options->compilable && (cloog_program_language (program) == 'c'))
+  { /* The headers. */
+    fprintf(file,"/* DON'T FORGET TO USE -lm OPTION TO COMPILE. */\n\n") ;
+    fprintf(file,"/* Useful headers. */\n") ;
+    fprintf(file,"#include <stdio.h>\n") ;
+    fprintf(file,"#include <stdlib.h>\n") ;
+    fprintf(file,"#include <math.h>\n\n") ;
+
+    /* The value of parameters. */
+    fprintf(file,"/* Parameter value. */\n") ;
+    for (i = 1; i <= cloog_names_nb_parameters (cloog_program_names (program)); i++)
+      fprintf(file, "#define PARVAL%d %d\n", i, options->compilable);
+    
+    /* The macros. */
+    fprintf(file,"/* Useful macros. */\n") ;
+    fprintf(file,"#define ceild(n,d)  ceil(((double)(n))/((double)(d)))\n") ;
+    fprintf(file,"#define floord(n,d) floor(((double)(n))/((double)(d)))\n") ;
+    fprintf(file,"#define max(x,y)    ((x) > (y)? (x) : (y))  \n") ; 
+    fprintf(file,"#define min(x,y)    ((x) < (y)? (x) : (y))  \n\n") ; 
+
+    /* The statement macros. */
+    fprintf(file,"/* Statement macros (please set). */\n") ;
+    blocklist = cloog_program_blocklist (program) ;
+    while (blocklist != NULL)
+      {
+       block = cloog_block_list_block (blocklist) ;
+       statement = cloog_block_stmt (block) ;
+       while (statement != NULL)
+         {
+           fprintf (file, "#define S%d(", cloog_statement_number (statement));
+           if (cloog_block_depth (block) > 0)
+             { 
+               fprintf (file, "%s", cloog_names_iterator_elt (cloog_program_names (program), 0));
+               for (j = 1; j < cloog_block_depth (block); j++)
+                 fprintf (file, ",%s", cloog_names_iterator_elt (cloog_program_names (program), j)) ;
+             }
+           fprintf(file,") {total++;") ;
+           if (cloog_block_depth (block) > 0)
+             {
+               fprintf (file, " printf(\"S%d %%d", cloog_statement_number (statement));
+               for (j = 1; j < cloog_block_depth (block); j++)
+                 fprintf (file, " %%d");
+          
+               fprintf(file,"\\n\",%s", cloog_names_iterator_elt (cloog_program_names (program), 0));
+               for (j = 1;j < cloog_block_depth (block); j++)
+                 fprintf (file, ",%s", cloog_names_iterator_elt (cloog_program_names (program), j)) ;
+               fprintf (file, ");");
+             }
+           fprintf(file,"}\n") ;
+        
+           statement = cloog_statement_next (statement);
+         }
+       blocklist = cloog_block_list_next (blocklist) ;
+      }
+    
+    /* The iterator and parameter declaration. */
+    fprintf(file,"\nint main() {\n") ; 
+    if ((cloog_names_nb_scalars (cloog_program_names (program)) > 0) && (!options->csp))
+    { fprintf(file,"  /* Scalar dimension iterators. */\n") ;
+      fprintf (file,"  int %s", cloog_names_scalar_elt (cloog_program_names (program), 0));
+      for (i = 2; i <= cloog_names_nb_scalars (cloog_program_names (program)); i++)
+       fprintf (file, ", %s", cloog_names_scalar_elt (cloog_program_names (program), i - 1));
+      
+      fprintf(file," ;\n") ;
+    }
+    if (cloog_names_nb_scattering (cloog_program_names (program)) > 0)
+    { fprintf(file,"  /* Scattering iterators. */\n") ;
+      fprintf (file, "  int %s", cloog_names_scattering_elt (cloog_program_names (program), 0));
+      for(i=2;i<=cloog_names_nb_scattering (cloog_program_names (program));i++)
+       fprintf (file, ", %s", cloog_names_scattering_elt (cloog_program_names (program), i - 1)); 
+      
+      fprintf(file," ;\n") ;
+    }
+    if (cloog_names_nb_iterators (cloog_program_names (program)) > 0)
+    { fprintf(file,"  /* Original iterators. */\n") ;
+      fprintf (file,"  int %s", cloog_names_iterator_elt (cloog_program_names (program), 0)) ; 
+      for(i=2;i<=cloog_names_nb_iterators (cloog_program_names (program));i++)
+       fprintf(file,", %s", cloog_names_iterator_elt (cloog_program_names (program), i-1)) ; 
+      
+      fprintf(file," ;\n") ;
+    }
+    if (cloog_names_nb_parameters (cloog_program_names (program)) > 0)
+    { fprintf(file,"  /* Parameters. */\n") ;
+      fprintf(file, "  int %s=PARVAL1", cloog_names_parameter_elt (cloog_program_names (program), 0));
+      for(i=2;i<=cloog_names_nb_parameters (cloog_program_names (program));i++)
+        fprintf(file, ", %s=PARVAL%d", cloog_names_parameter_elt (cloog_program_names (program), i - 1), i);
+      
+      fprintf(file,";\n");
+    }
+    fprintf(file,"  int total=0;\n");
+    fprintf(file,"\n") ;
+    
+    /* And we adapt the identation. */
+    indentation += 2 ;
+  }
+  
+  root = cloog_clast_create(program, options);
+  pprint(file, root, indentation, options);
+  cloog_clast_free(root);
+  
+  /* The end of the compilable code in case of 'compilable' option. */
+  if (options->compilable && (cloog_program_language (program) == 'c'))
+  { fprintf(file,"\n  printf(\"Number of integral points: %%d.\\n\",total) ;") ;
+    fprintf(file,"\n  return 0 ;\n}\n") ;
+  }
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_program_free function:
+ * This function frees the allocated memory for a CloogProgram structure.
+ */
+void cloog_program_free(CloogProgram * program)
+{ cloog_names_free(cloog_program_names (program)) ;
+  cloog_loop_free(cloog_program_loop (program)) ;
+  cloog_domain_free (cloog_program_context (program)) ;
+  cloog_block_list_free (cloog_program_blocklist (program)) ;
+  if (cloog_program_scaldims (program))
+    free (cloog_program_scaldims (program));
+  
+  free(program) ;
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/**
+ * cloog_program_read function:
+ * This function read the informations to put in a CloogProgram structure from
+ * a file (file, possibly stdin). It returns a pointer to a CloogProgram
+ * structure containing the read informations.
+ * - October 25th 2001: first version.
+ * - September 9th 2002: - the big reading function is now split in several
+ *                         functions (one per read data structure).
+ *                       - adaptation to the new file format with naming.
+ */
+CloogProgram * cloog_program_read(FILE * file, CloogOptions * options)
+{ int i, nb_statements, nb_parameters, nb_iterators, nb_scattering ;
+  char s[MAX_STRING], language, prefix[2]={'c','\0'},
+       ** scattering, ** iterators, ** parameters;
+  CloogLoop * current, * next ;
+  CloogBlockList * previous ;
+  CloogDomainList * scatteringl ;
+  CloogProgram * p ;
+  
+  nb_scattering = 0 ;
+  scattering = NULL ;
+      
+  /* Memory allocation for the CloogProgram structure. */
+  p = cloog_program_malloc() ;
+  
+  /* First of all, we read the language to use. */
+  while (fgets(s,MAX_STRING,file) == 0) ;
+  while ((*s=='#'||*s=='\n') || (sscanf(s," %c",&language)<1))
+  fgets(s,MAX_STRING,file) ;
+  cloog_program_set_language (p, language);
+
+  /* We then read the context data. */
+  cloog_program_set_context (p, cloog_domain_read (file));
+  nb_parameters = cloog_domain_dim (cloog_program_context (p)) ;
+  
+  /* First part of the CloogNames structure: reading of the parameter names. */
+  parameters=cloog_names_read_strings(file,nb_parameters,NULL,FIRST_PARAMETER) ;
+      
+  /* We read the statement number. */
+  while (fgets(s,MAX_STRING,file) == 0) ;
+  while ((*s=='#'||*s=='\n') || (sscanf(s," %d",&nb_statements)<1))
+  fgets(s,MAX_STRING,file) ;
+
+  /* Statements and domains reading for each statement. */
+  if (nb_statements > 0)
+  { /* Reading of the first domain. */
+    cloog_program_set_loop (p, cloog_loop_read (file,0,nb_parameters));
+    cloog_program_set_blocklist 
+      (p, cloog_block_list_alloc (cloog_loop_block (cloog_program_loop (p))));
+    previous = cloog_program_blocklist (p);
+    
+    if (cloog_loop_domain (cloog_program_loop (p)) != NULL)
+      nb_iterators = cloog_domain_dim(cloog_loop_domain (cloog_program_loop (p))) - nb_parameters ;
+    else
+    nb_iterators = 0 ;
+    
+    /* And the same for each next domain. */
+    current = cloog_program_loop (p) ;
+    for (i=2;i<=nb_statements;i++)
+    { next = cloog_loop_read(file,i-1,nb_parameters) ;
+      if (cloog_loop_domain (next) != NULL)
+       if ((int) cloog_domain_dim(cloog_loop_domain (next)) - nb_parameters > nb_iterators)
+         nb_iterators = cloog_domain_dim (cloog_loop_domain (next)) - nb_parameters ;
+      
+      cloog_block_list_set_next (previous, cloog_block_list_alloc (cloog_loop_block (next)));
+      previous = cloog_block_list_next (previous) ;    
+    
+      cloog_loop_set_next (current, next);
+      current = cloog_loop_next (current) ;
+    }     
+        
+    /* Reading of the iterator names. */
+    iterators = cloog_names_read_strings(file,nb_iterators,NULL,FIRST_ITERATOR);
+
+    /* Reading and putting the scattering data in program structure. */
+    scatteringl = cloog_domain_list_read(file) ;
+    
+    if (scatteringl != NULL)
+      {
+       if (cloog_domain_list_lazy_same(scatteringl)
+           /* Cloog should never print to stderr.  */
+           && 0)
+         fprintf(stderr, "[CLooG]WARNING: some scattering functions are "
+                 "similar.\n") ;
+      
+       cloog_program_set_nb_scattdims (p, 
+                                       cloog_domain_dim (cloog_domain (scatteringl)) - 
+                                       cloog_domain_dim (cloog_loop_domain (cloog_program_loop (p)))) ;
+       nb_scattering = cloog_program_nb_scattdims (p);
+       scattering = cloog_names_read_strings (file, cloog_program_nb_scattdims (p), prefix, -1);
+    
+       /* The boolean array for scalar dimensions is created and set to 0. */
+       cloog_program_set_scaldims (p, (int *) malloc (cloog_program_nb_scattdims (p) * sizeof (int)));
+       if (cloog_program_scaldims (p) == NULL)
+         {
+           fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+           exit(1) ;
+         }
+       for (i=0;i<cloog_program_nb_scattdims (p);i++)
+         cloog_program_set_scaldim (p, i, 0);
+      
+       /* We try to find blocks in the input problem to reduce complexity. */
+       if (!options->noblocks)
+         cloog_program_block(p,scatteringl) ;
+       if (!options->noscalars)
+         cloog_program_extract_scalars(p,scatteringl) ;
+      
+       cloog_program_scatter(p,scatteringl) ;
+       cloog_domain_list_free(scatteringl) ;
+      }
+    else
+      {
+       cloog_program_set_nb_scattdims (p, 0);
+       cloog_program_set_scaldims (p, NULL);
+      }
+    
+    cloog_program_set_names 
+      (p, cloog_names_alloc (0, nb_scattering, nb_iterators, nb_parameters,
+                            NULL, scattering, iterators, parameters));
+  
+    cloog_names_scalarize (cloog_program_names (p), cloog_program_nb_scattdims (p), 
+                          cloog_program_scaldims (p));
+  }
+  else
+    {
+      cloog_program_set_loop (p, NULL);
+      cloog_program_set_names (p, NULL);
+      cloog_program_set_blocklist (p, NULL);
+      cloog_program_set_scaldims (p, NULL);
+    }
+   
+  return(p) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+/**
+ * cloog_program_malloc function:
+ * This function allocates the memory space for a CloogProgram structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogProgram * cloog_program_malloc (void)
+{ CloogProgram * program ;
+  
+  /* Memory allocation for the CloogProgram structure. */
+  program = (CloogProgram *)malloc(sizeof(CloogProgram)) ;
+  if (program == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  /* We set the various fields with default values. */
+  cloog_program_set_language (program, 'c');
+  cloog_program_set_nb_scattdims (program, 0);
+  cloog_program_set_context (program, NULL);
+  cloog_program_set_loop (program, NULL);
+  cloog_program_set_names (program, NULL);
+  cloog_program_set_blocklist (program, NULL);
+  cloog_program_set_scaldims (program, NULL);
+  cloog_program_set_usr (program, NULL);
+  
+  return program ;
+}  
+
+
+/**
+ * cloog_program_generate function:
+ * This function calls the Quillere algorithm for loop scanning. (see the
+ * Quillere paper) and calls the loop simplification function.
+ * - depth is the loop depth we want to optimize (guard free as possible),
+ *   the first loop depth is 1 and anegative value is the infinity depth.
+ * - sep_level is the level number where we want to start loop separation.
+ **
+ * - October 26th 2001: first version. 
+ * - April   19th 2005: some basic fixes and memory usage feature.
+ * - April   29th 2005: (bug fix, bug found by DaeGon Kim) see case 2 below.
+ */ 
+CloogProgram * cloog_program_generate(CloogProgram *program, CloogOptions *options)
+{ float time ;
+#ifdef HAS_SYS_RESOURCE_H
+  struct rusage start, end ;
+#endif
+  CloogLoop * loop ;
+#ifdef CLOOG_MEMORY
+  char status_path[MAX_STRING_VAL] ;
+  FILE * status ;
+  /* We initialize the memory need to 0. */
+  options->memory = 0 ;
+#endif
+
+  if (options->override)
+  {
+    /* Cloog should never print to stderr.  */
+    /* fprintf(stderr,
+       "[CLooG]WARNING: you are using -override option, be aware that the "
+       "generated\n                code may be incorrect.\n") ;
+    */
+  }
+  else
+  { /* Playing with options may be dangerous, here are two possible issues :
+     * 1. Using -l option less than scattering dimension number may lead to
+     *    an illegal target code (since the scattering is not respected), if
+     *    it is the case, we set -l depth to the first acceptable value.
+     */
+    if ((cloog_program_nb_scattdims (program) > options->l) && (options->l >= 0))
+    {
+      /* Cloog should never print to stderr.  */
+      /* fprintf(stderr,
+        "[CLooG]WARNING: -l depth is less than the scattering dimension number "
+        "(the \n                generated code may be incorrect), it has been "
+        "automaticaly set\n                to this value (use option -override "
+        "to override).\n") ;
+      */
+      options->l = cloog_program_nb_scattdims (program);
+    }
+      
+    /* 2. Using -f option greater than one while -l depth is greater than the
+     *    scattering dimension number may lead to iteration duplication (try
+     *    test/daegon_lu_osp.cloog with '-f 3' to test) because of the step 4b
+     *    of the cloog_loop_generate function, if it is the case, we set -l to
+     *    the first acceptable value.
+     */
+    if (((options->f > 1) || (options->f < 0)) &&
+        ((options->l > cloog_program_nb_scattdims (program)) || (options->l < 0)))
+    { 
+      /* Cloog should never print to stderr.  */
+      /* fprintf(stderr,
+        "[CLooG]WARNING: -f depth is more than one, -l depth has been "
+        "automaticaly set\n                to the scattering dimension number "
+        "(target code may have\n                duplicated iterations), -l depth "
+        "has been automaticaly set to\n                this value (use option "
+        "-override to override).\n") ;
+      */
+      options->l = cloog_program_nb_scattdims (program);
+    }
+  }
+  
+#ifdef HAS_SYS_RESOURCE_H
+  getrusage(RUSAGE_SELF, &start) ;
+#endif
+
+  if (cloog_program_loop (program))
+  {
+    loop = cloog_program_loop (program) ;
+    
+    /* Here we go ! */
+    loop = cloog_loop_generate(loop, cloog_program_context (program), 1, 0,
+                               cloog_program_scaldims (program),
+                              cloog_program_nb_scattdims (program),
+                               cloog_domain_dim (cloog_program_context (program)),
+                              options);
+                                 
+#ifdef CLOOG_MEMORY
+    /* We read into the status file of the process how many memory it uses. */
+    sprintf(status_path,"/proc/%d/status",getpid()) ;
+    status = fopen(status_path, "r") ;
+    while (fscanf(status,"%s",status_path) && strcmp(status_path,"VmData:")!=0);
+    fscanf(status,"%d",&(options->memory)) ;
+    fclose(status) ;
+#endif
+    
+    if ((!options->nosimplify) && cloog_program_loop (program))
+      loop = cloog_loop_simplify(loop, cloog_program_context (program), 1,
+                                cloog_domain_dim (cloog_program_context (program))) ;
+   
+    cloog_program_set_loop (program, loop);
+  }
+    
+#ifdef HAS_SYS_RESOURCE_H
+  getrusage(RUSAGE_SELF, &end) ;
+  /* We calculate the time spent in code generation. */
+  time =  (end.ru_utime.tv_usec -  start.ru_utime.tv_usec)/(float)(MEGA) ;
+  time += (float)(end.ru_utime.tv_sec - start.ru_utime.tv_sec) ;
+  options->time = time ;
+#endif
+
+  return program ;
+}
+
+
+/**
+ * cloog_program_block function:
+ * this function gives a last chance to the lazy user to consider statement
+ * blocks instead of some statement lists where the whole list may be
+ * considered as a single statement from a code generation point of view.
+ * For instance two statements with the same iteration domain and the same
+ * scattering functions may be considered as a block. This function is lazy
+ * and can only find very simple forms of trivial blocks (see
+ * cloog_domain_lazy_block function for more details). The useless loops and
+ * scattering functions are removed and freed while the statement list of
+ * according blocks are filled.
+ * - program is the whole program structure (befaore applying scattering),
+ * - scattering is the list of scattering functions.
+ **
+ * - April   30th 2005: first attempt.
+ * - June 10-11th 2005: first working version.
+ */
+void cloog_program_block(CloogProgram * program, CloogDomainList * scattering)
+{ int blocked_reference=0, blocked=0, nb_blocked=0 ;
+  CloogLoop * reference, * start, * loop ;
+  CloogDomainList * scatt_reference, * scatt_loop, * scatt_start ;
+  CloogBlockList * previous ;
+  
+  if ((cloog_program_loop (program) == NULL) 
+      || (cloog_loop_next (cloog_program_loop (program)) == NULL))
+  return ;
+
+  /* We will have to rebuild the block list. */
+  cloog_block_list_free (cloog_program_blocklist (program)) ;
+  cloog_program_set_blocklist 
+    (program, cloog_block_list_alloc (cloog_loop_block (cloog_program_loop (program))));
+  previous = cloog_program_blocklist (program);
+  
+  /* The process will use three variables for the linked list :
+   * - 'start' is the starting point of a new block,
+   * - 'reference' is the node of the block used for the block checking,
+   * - 'loop' is the candidate to be inserted inside the block.
+   * At the beginning of the process, the linked lists are as follow:
+   *         O------>O------>O------>O------>NULL
+   *         |       |
+   *       start    loop
+   *     reference
+   */
+
+  reference       = cloog_program_loop (program) ;
+  start           = cloog_program_loop (program) ;
+  loop            = cloog_loop_next (reference) ;
+  scatt_reference = scattering ;
+  scatt_start     = scattering ;
+  scatt_loop      = cloog_next_domain (scattering) ;
+   
+  while (loop != NULL)
+    { 
+      if (cloog_domain_lazy_equal (cloog_loop_domain (reference),
+                                  cloog_loop_domain (loop)) &&
+         cloog_domain_lazy_block(cloog_domain (scatt_reference),
+                                 cloog_domain (scatt_loop),
+                                 scattering, cloog_program_nb_scattdims (program)))
+    { /* If we find a block we update the links:
+       *     +---------------+
+       *     |               v
+       *     O       O------>O------>O------>NULL
+       *     |       |
+       *   start    loop
+       * reference
+       */
+      blocked = 1 ;
+      nb_blocked ++ ;
+      cloog_block_merge(cloog_loop_block (start), cloog_loop_block (loop)); /* merge frees cloog_block (loop) */
+      cloog_loop_set_block (loop, NULL);
+      cloog_loop_set_next (start, cloog_loop_next (loop));
+      cloog_set_next_domain (scatt_start, cloog_next_domain (scatt_loop));
+    }
+    else
+    { /* If we didn't find a block, the next start of a block is updated:
+       *     O------>O------>O------>O------>NULL
+       *     |       |
+       * reference start
+       *           loop
+       */
+      blocked= 0 ;
+      start = loop ;
+      scatt_start = scatt_loop ;
+      
+      /* We update the block list. */
+      cloog_block_list_set_next (previous, cloog_block_list_alloc (cloog_loop_block (start)));
+      previous = cloog_block_list_next (previous) ;    
+    }
+
+    /* If the reference node has been included into a block, we can free it. */
+    if (blocked_reference)
+      { cloog_loop_set_next (reference, NULL);
+      cloog_loop_free (reference) ;
+      cloog_domain_free (cloog_domain (scatt_reference)) ;
+      free (scatt_reference) ;
+    }
+    
+    /* The reference and the loop are now updated for the next try, the
+     * starting position depends on the previous step.
+     *       O   ?   O------>O------>O------>NULL
+     *               |       |
+     *           reference loop
+     */
+    reference       = loop ;
+    loop            = cloog_loop_next (loop) ;
+    scatt_reference = scatt_loop ;
+    scatt_loop      = cloog_next_domain (scatt_loop) ;
+    
+    /* We mark the new reference as being blocked or not, if will be freed
+     * during the next while loop execution.
+     */
+    if (blocked)
+    blocked_reference = 1 ;
+    else
+    blocked_reference = 0 ;
+  }
+  
+  /* We free the last blocked reference if any (since in the while loop it was
+   * freed during the next loop execution, it was not possible to free the
+   * last one inside).
+   */
+  if (blocked_reference)
+    { cloog_loop_set_next (reference, NULL);
+    cloog_loop_free (reference) ;
+    cloog_domain_free (cloog_domain (scatt_reference)) ;
+    free (scatt_reference) ;
+  }
+  
+  /* Cloog should never print to stderr.  */
+  /* if (nb_blocked != 0)
+     fprintf(stderr, "[CLooG]INFO: %d domains have been blocked.\n",nb_blocked) ; */
+}
+
+
+/**
+ * cloog_program_extract_scalars function:
+ * this functions finds and removes the dimensions of the scattering functions
+ * when they are scalar (i.e. of the shape "dim + scalar = 0") for all
+ * scattering functions. The reason is that the processing of such dimensions
+ * is trivial and do not need neither a row and a column in the matrix
+ * representation of the domain (this will save memory) neither the full
+ * Quillere processing (this will save time). The scalar dimensions data are
+ * dispatched in the CloogProgram structure (the boolean vector scaldims will
+ * say which original dimensions are scalar or not) and to the CloogBlock
+ * structures (each one has a scaldims vector that contains the scalar values).
+ * - June 14th 2005: first developments.
+ * - June 30th 2005: first version.
+ */ 
+void cloog_program_extract_scalars(CloogProgram *program, CloogDomainList *scattering)
+{ int i, j, scalar, current, nb_scaldims=0 ;
+  CloogDomainList * start ;
+  CloogDomain * old ;
+  CloogBlockList * blocklist ;
+  CloogBlock * block ;
+
+  start = scattering ;
+    
+  for (i = 0; i < cloog_program_nb_scattdims (program); i++)
+  { scalar = 1 ;
+    scattering = start ;
+    while (scattering != NULL)
+      {
+       if (!cloog_domain_lazy_isscalar (cloog_domain (scattering),i))
+         {
+           scalar = 0 ;
+           break ;
+         }
+       scattering = cloog_next_domain (scattering);
+      }
+    
+    if (scalar)
+      {
+       nb_scaldims ++ ;
+       cloog_program_set_scaldim (program, i, 1);
+      }
+  }
+  
+  /* If there are no scalar dimensions, we can continue directly. */
+  if (!nb_scaldims)
+  return ;
+
+  /* Otherwise, in each block, we have to put the number of scalar dimensions,
+   * and to allocate the memory for the scalar values.
+   */
+  blocklist = cloog_program_blocklist (program);
+  while (blocklist != NULL)
+    {
+      block = cloog_block_list_block (blocklist) ;
+      cloog_block_set_nb_scaldims (block, nb_scaldims);
+      cloog_block_set_scaldims (block, (Value *) malloc (nb_scaldims * sizeof (Value)));
+
+      for (i = 0; i < nb_scaldims; i++)
+       value_init_c (block->scaldims[i]);
+    
+      blocklist = cloog_block_list_next (blocklist);
+    }
+  
+  /* Then we have to fill these scalar values, so we can erase those dimensions
+   * from the scattering functions. It's easier to begin with the last one,
+   * since there would be an offset otherwise (if we remove the i^th dimension,
+   * then the next one is not the (i+1)^th but still the i^th...).
+   */
+  current = nb_scaldims - 1 ;
+  for (i = cloog_program_nb_scattdims (program) - 1; i >= 0; i--)
+    if (cloog_program_scaldim (program, i))
+      {
+       blocklist = cloog_program_blocklist (program);
+       scattering = start;
+
+      while (blocklist != NULL)
+       { 
+         block = cloog_block_list_block (blocklist) ;
+         cloog_domain_scalar (cloog_domain (scattering), i,
+                              &block->scaldims[current]);
+         blocklist = cloog_block_list_next (blocklist);
+         scattering = cloog_next_domain (scattering);
+       }
+  
+    scattering = start ;
+    while (scattering != NULL)
+      {
+       old = cloog_domain (scattering) ;
+       cloog_set_domain (scattering, cloog_domain_erase_dimension (old, i)) ;
+       cloog_domain_free (old) ;
+       scattering = cloog_next_domain (scattering);
+      }
+    current-- ;
+  }
+  
+  /* We postprocess the scaldims array in such a way that each entry is how
+   * many scalar dimensions follows + 1 (the current one). This will make 
+   * some other processing easier (e.g. knowledge of some offsets).
+   */
+  for (i = 0; i < cloog_program_nb_scattdims (program) - 1; i++)
+    { 
+      if (cloog_program_scaldim (program, i))
+       {
+         j = i + 1 ;
+         while ((j < cloog_program_nb_scattdims (program))
+                && cloog_program_scaldim (program, j))
+           {
+             cloog_program_set_scaldim (program, i, 
+                                        cloog_program_scaldim (program, i) + 1);
+             j ++ ;
+           }
+       }
+    }
+  
+  /* Cloog should never print to stderr.  */
+  /* if (nb_scaldims != 0)
+     fprintf(stderr, "[CLooG]INFO: %d dimensions (over %d) are scalar.\n",
+     nb_scaldims, cloog_program_nb_scattdims (program)) ; */
+}
+
+
+/**
+ * cloog_program_scatter function:
+ * This function adds the scattering (scheduling) informations in a program.
+ * If names is NULL, this function create names itself such that the i^th
+ * name is ci.
+ * - November 6th 2001: first version. 
+ */
+void cloog_program_scatter(CloogProgram *program, CloogDomainList *scattering)
+{ 
+  CloogLoop * loop ;
+  
+  if ((program != NULL) && (scattering != NULL))
+    {
+      loop = cloog_program_loop (program) ;
+
+      /* Finally we scatter all loops. */
+      cloog_loop_scatter(loop, cloog_domain (scattering)) ;
+      loop = cloog_loop_next (loop) ;
+      scattering = cloog_next_domain (scattering);    
+    
+      while ((loop != NULL) && (scattering != NULL))
+       {      
+         cloog_loop_scatter(loop,cloog_domain (scattering)) ;
+         loop = cloog_loop_next (loop) ;
+         scattering = cloog_next_domain (scattering);
+       }
+    }
+}
diff --git a/source/statement.c b/source/statement.c
new file mode 100644 (file)
index 0000000..b936aae
--- /dev/null
@@ -0,0 +1,276 @@
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                           statement.c                             **
+    **-------------------------------------------------------------------**
+    **                 First version: november 4th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2005 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+# include "../include/cloog/cloog.h"
+
+
+/******************************************************************************
+ *                             Memory leaks hunting                           *
+ ******************************************************************************/
+
+
+/**
+ * These functions and global variables are devoted to memory leaks hunting: we
+ * want to know at each moment how many CloogStatement structures had been
+ * allocated (cloog_statement_allocated) and how many had been freed
+ * (cloog_statement_freed). Each time a CloogStatement structure is allocated,
+ * a call to the function cloog_statement_leak_up() must be carried out, and
+ * respectively cloog_statement_leak_down() when a CloogStatement structure is
+ * freed. The special variable cloog_statement_max gives the maximal number of
+ * CloogStatement structures simultaneously alive (i.e. allocated and
+ * non-freed) in memory.
+ * - July 3rd->11th 2003: first version (memory leaks hunt and correction).
+ */
+
+
+int cloog_statement_allocated = 0 ;
+int cloog_statement_freed = 0 ;
+int cloog_statement_max = 0 ;
+
+
+static void cloog_statement_leak_up (void)
+{ cloog_statement_allocated ++ ;
+  if ((cloog_statement_allocated-cloog_statement_freed) > cloog_statement_max)
+  cloog_statement_max = cloog_statement_allocated - cloog_statement_freed ;
+}
+
+
+static void cloog_statement_leak_down (void)
+{ cloog_statement_freed ++ ;
+}
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+
+/**
+ * cloog_domain_print_structure :
+ * this function is a human-friendly way to display the CloogDomain data
+ * structure, it includes an indentation level (level) in order to work with
+ * others print_structure functions.
+ * - June  16th 2005: first version.
+ */
+void cloog_statement_print_structure(FILE *file, CloogStatement *statement, int level)
+{ int i ;
+      
+  if (statement != NULL)
+  { /* Go to the right level. */
+    for (i=0; i<level; i++)
+    fprintf(file,"|\t") ;
+    fprintf (file, "+-- CloogStatement %d \n", cloog_statement_number (statement));
+    
+    statement = cloog_statement_next (statement);
+    while (statement != NULL)
+    { for (i=0; i<level; i++)
+      fprintf(file,"|\t") ;
+      fprintf(file,"|          |\n");
+      for (i=0; i<level; i++)
+      fprintf(file,"|\t") ;
+      fprintf(file,"|          V\n");
+      
+      for (i=0; i<level; i++)
+      fprintf(file,"|\t") ;
+      fprintf (file, "|   CloogStatement %d \n", cloog_statement_number (statement));
+      statement = cloog_statement_next (statement) ;
+    }
+  }
+  else
+  { for (i=0; i<level; i++)
+    fprintf(file,"|\t") ;
+    
+    fprintf(file,"+-- No CloogStatement\n") ;
+  }  
+}
+
+
+/**
+ * cloog_statement_print function:
+ * This function prints the content of a CloogStatement structure (statement)
+ * into a file (file, possibly stdout).
+ */
+void cloog_statement_print(FILE * file, CloogStatement * statement)
+{ cloog_statement_print_structure(file,statement,0) ;
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/**
+ * cloog_statement_free function:
+ * This function frees the allocated memory for a CloogStatement structure.
+ */
+void cloog_statement_free(CloogStatement * statement)
+{ CloogStatement * next ;
+
+  while (statement != NULL)
+  { cloog_statement_leak_down() ;
+    
+    next = cloog_statement_next (statement) ;
+    free(statement) ;
+    statement = next ;
+  }
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/**
+ * cloog_statement_malloc function:
+ * This function allocates the memory space for a CloogStatement structure and
+ * sets its fields with default values. Then it returns a pointer to the
+ * allocated space.
+ * - November 21th 2005: first version.
+ */
+CloogStatement * cloog_statement_malloc (void)
+{ CloogStatement * statement ;
+  
+  /* Memory allocation for the CloogStatement structure. */
+  statement = (CloogStatement *)malloc(sizeof(CloogStatement)) ;
+  if (statement == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  cloog_statement_leak_up() ;
+  
+  /* We set the various fields with default values. */
+  cloog_statement_set_number (statement, 0);
+  cloog_statement_set_usr (statement, NULL);
+  cloog_statement_set_next (statement, NULL);
+  
+  return statement ;
+}  
+
+
+/**
+ * cloog_statement_alloc function:
+ * This function allocates the memory space for a CloogStatement structure and
+ * sets its fields with those given as input. Then it returns a pointer to the
+ * allocated space.
+ * - number is the statement number.
+ **
+ * - September 9th 2002: first version.
+ * - March    17th 2003: fix for the usr field in CloogStatement structure.
+ * - April    16th 2005: adaptation to new CloogStatement structure (with
+ *                       number), cloog_statement_read becomes
+ *                       cloog_statement_alloc sincethere is nothing more to
+ *                       read on a file.
+ * - November 21th 2005: use of cloog_statement_malloc.
+ */
+CloogStatement * cloog_statement_alloc(int number)
+{ CloogStatement * statement ;
+    
+  /* Memory allocation and initialization of the structure. */
+  statement = cloog_statement_malloc() ;
+
+  cloog_statement_set_number (statement, number);
+  
+  return statement ;
+}
+
+
+/**
+ * cloog_statement_copy function:
+ * This function returns a copy of the CloogStatement structure given as input.
+ * - October 28th 2001: first version (in loop.c). 
+ * - March   17th 2003: fix for the usr field in CloogStatement structure.
+ * - April   16th 2005: adaptation to new CloogStatement struct (with number). 
+ */ 
+CloogStatement * cloog_statement_copy(CloogStatement * source)
+{ CloogStatement * statement, * temp, * now = NULL ;
+  
+  statement = NULL ;
+
+  while (source != NULL)
+  { cloog_statement_leak_up() ;
+
+    temp = (CloogStatement *)malloc(sizeof(CloogStatement)) ;
+    if (temp == NULL)
+    { fprintf(stderr, "Memory Overflow.\n") ;
+      exit(1) ;
+    }
+    
+    cloog_statement_set_number (temp, cloog_statement_number (source));
+    cloog_statement_set_usr (temp, cloog_statement_usr (source));
+    cloog_statement_set_next (temp, NULL);
+    
+    if (statement == NULL)
+    { statement = temp ;
+      now = statement ;
+    }
+    else
+      { cloog_statement_set_next (now, temp);
+       now = cloog_statement_next (now) ;
+    }
+    source = cloog_statement_next (source) ;
+  }
+  return(statement) ;
+}
+
+
+/** 
+ * cloog_statement_add function:
+ * This function adds a CloogStatement structure (statement) at a given place
+ * (now) of a NULL terminated list of CloogStatement structures. The beginning
+ * of this list is (start). This function updates (now) to (loop), and
+ * updates (start) if the added element is the first one -that is when (start)
+ * is NULL-.
+ * - March 27th 2004: first version. 
+ */ 
+void cloog_statement_add(CloogStatement **start, CloogStatement **now, CloogStatement *statement)
+{ if (*start == NULL)
+  { *start = statement ;
+    *now = *start ;
+  }
+  else
+    { cloog_statement_set_next (*now, statement);
+      *now = cloog_statement_next (*now);
+  }
+}
+
diff --git a/source/version.c b/source/version.c
new file mode 100644 (file)
index 0000000..507b019
--- /dev/null
@@ -0,0 +1,52 @@
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001-2008 Cedric Bastoul                                     *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+
+#include "../include/cloog/version.h"
+
+int cloog_version_major (void)
+{
+  return CLOOG_VERSION_MAJOR;
+}
+
+int cloog_version_minor (void)
+{
+  return CLOOG_VERSION_MINOR;
+}
+
+int cloog_version_revision (void)
+{
+  return CLOOG_VERSION_REVISION;
+}
+
+int cloog_version_beta (void)
+{
+  return CLOOG_VERSION_BETA;
+}
+
+const char *cloog_version(void)
+{
+  return "CLooG "CLOOG_VERSION" "CLOOG_BITS" bits";
+}
+
diff --git a/test/1point-1.c.polylib b/test/1point-1.c.polylib
new file mode 100644 (file)
index 0000000..9fd6fbb
--- /dev/null
@@ -0,0 +1,3 @@
+/* Generated by CLooG v0.10.7 */
+i = 2*M ;
+S1(j = M) ;
diff --git a/test/1point-1.c.ppl b/test/1point-1.c.ppl
new file mode 100644 (file)
index 0000000..ab8262a
--- /dev/null
@@ -0,0 +1,3 @@
+/* Generated from ./1point-1.cloog by CLooG 0.15 64 bits in 0.00s. */
+i = 2*M ;
+S1(j = M) ;
diff --git a/test/1point-1.cloog b/test/1point-1.cloog
new file mode 100644 (file)
index 0000000..318d89b
--- /dev/null
@@ -0,0 +1,23 @@
+# language: C
+c
+
+# Context
+#{M | }
+1 3
+# M 1
+1 0 1
+0
+
+1 # Number of statements
+
+1
+#{i, j | i=2N; i=2j}
+3 5
+#  i  j  M  1
+0  1  0 -2  0
+0  1 -2  0  0
+1  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/1point-2.c.polylib b/test/1point-2.c.polylib
new file mode 100644 (file)
index 0000000..8bd1ccc
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+i = 2*M ;
+j = N+2 ;
+S1 ;
diff --git a/test/1point-2.c.ppl b/test/1point-2.c.ppl
new file mode 100644 (file)
index 0000000..bdfb05c
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./1point-2.cloog by CLooG 0.15 64 bits in 0.00s. */
+i = 2*M ;
+j = N+2 ;
+S1 ;
diff --git a/test/1point-2.cloog b/test/1point-2.cloog
new file mode 100644 (file)
index 0000000..66eec58
--- /dev/null
@@ -0,0 +1,23 @@
+# language: C
+c
+
+# Context
+#{M,N | }
+1 4
+# M N 1
+1 0 0 1
+0
+
+1 # Number of statements
+
+1
+#
+3 6
+#  i  j  M  N  1
+0  1  0 -2  0  0
+0  2 -2 -4  2  4
+1  0  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/4-param.c.polylib b/test/4-param.c.polylib
new file mode 100644 (file)
index 0000000..f4f5ee6
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated by CLooG v0.12.1 in 0.26s. */
+for (i=m;i<=min(min(n,p-1),q);i++) {
+  S1 ;
+}
+for (i=p;i<=min(min(q,m-1),n);i++) {
+  S2 ;
+}
+for (i=max(m,p);i<=min(n,q);i++) {
+  S1 ;
+  S2 ;
+}
+for (i=max(m,q+1);i<=n;i++) {
+  S1 ;
+}
+for (i=max(p,n+1);i<=q;i++) {
+  S2 ;
+}
diff --git a/test/4-param.c.ppl b/test/4-param.c.ppl
new file mode 100644 (file)
index 0000000..90767fe
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated from ./4-param.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=m;i<=min(n,p-1);i++) {
+  S1 ;
+}
+for (i=p;i<=min(m-1,q);i++) {
+  S2 ;
+}
+for (i=max(m,p);i<=min(n,q);i++) {
+  S1 ;
+  S2 ;
+}
+for (i=max(max(m,p),q+1);i<=n;i++) {
+  S1 ;
+}
+for (i=max(max(m,n+1),p);i<=q;i++) {
+  S2 ;
+}
diff --git a/test/4-param.cloog b/test/4-param.cloog
new file mode 100644 (file)
index 0000000..a19ba08
--- /dev/null
@@ -0,0 +1,33 @@
+# language: C
+c
+
+# Context
+# parameters m n p q
+1 6
+# m n p q 1
+1 0 0 0 0 1
+1
+m n p q
+
+2 # Number of statements
+
+1
+# S1 i,...
+3 7
+#  i  m  n  p  q  1
+1  1 -1  0  0  0  0
+1 -1  0  1  0  0  0
+1  0  0  0  0  0  1
+0  0  0
+
+1
+#
+3 7
+#  i  m  n  p  q  1
+1  1  0  0 -1  0  0
+1 -1  0  0  0  1  0
+1  0  0  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644 (file)
index 0000000..caa887a
--- /dev/null
@@ -0,0 +1,286 @@
+#
+#   /**-------------------------------------------------------------------**
+#    **                              CLooG                                **
+#    **-------------------------------------------------------------------**
+#    **                            makefile                               **
+#    **-------------------------------------------------------------------**
+#    **                   First version: march 6th 2003                   **
+#    **-------------------------------------------------------------------**/
+#
+# makefile for checking.
+
+#/*****************************************************************************
+# *               CLooG : the Chunky Loop Generator (experimental)            *
+# *****************************************************************************
+# *                                                                           *
+# * Copyright (C) 2003 Cedric Bastoul                                         *
+# *                                                                           *
+# * This is free software; you can redistribute it and/or modify it under the *
+# * terms of the GNU General Public License as published by the Free Software *
+# * Foundation; either version 2 of the License, or (at your option) any      *
+# * later version.                                                           *
+# *                                                                           *
+# * This software is distributed in the hope that it will be useful, but      *
+# * WITHOUT ANY WARRANTY; without even the implied warranty of                *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General *
+# * Public License for more details.                                          *
+# *                                                                           *
+# * You should have received a copy of the GNU General Public License along   *
+# * with software; if not, write to the Free Software Foundation, Inc.,       *
+# * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                    *
+# *                                                                           *
+# * CLooG, the Chunky Loop Generator                                          *
+# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                        *
+# * This file has been written with the help of the Bart Kienhuis's checking  *
+# * makefile for PipLib.                                                      *
+# *                                                                           *
+# *****************************************************************************/
+
+ROOT = ..
+
+CLOOGTEST_C =                          \
+       1point-1                       \
+       1point-2                       \
+       4-param                        \
+       basic-bounds-1                 \
+       basic-bounds-2                 \
+       basic-bounds-3                 \
+       basic-bounds-4                 \
+       basic-bounds-5                 \
+       basic-bounds-6                 \
+       byu98-1-2-3                    \
+       cholesky                       \
+       cholesky2                      \
+       classen                        \
+       darte                          \
+       donotsimp                      \
+       dot                            \
+       dot2                           \
+       double                         \
+       durbin_e_s                     \
+       emploi                         \
+       esced                          \
+       ex1                            \
+       forwardsub-1-1-2               \
+       forwardsub-2-1-2-3             \
+       forwardsub-3-1-2               \
+       gauss                          \
+       gesced                         \
+       gesced2                        \
+       gesced3                        \
+       guide                          \
+       iftest                         \
+       iftest2                        \
+       infinite                       \
+       infinite2                      \
+       infinite3                      \
+       infinite4                      \
+       largeur                        \
+       levenshtein-1-2-3              \
+       lineality-1-2                  \
+       lineality-2-1-2                \
+       logo                           \
+       logopar                        \
+       lu                             \
+       lu2                            \
+       lub                            \
+       lux                            \
+       min-1-1                        \
+       min-2-1                        \
+       min-3-1                        \
+       min-4-1                        \
+       mode                           \
+       multi-mm-1                     \
+       no_lindep                      \
+       not_equal                      \
+       orc                            \
+       rectangle                      \
+       square+triangle-1-1-2-3        \
+       swim                           \
+       test                           \
+       thomasset                      \
+       tiling                         \
+       uday_scalars                   \
+       vivien                         \
+       vivien2                        \
+       wavefront                      \
+       yosr                           \
+       yosr2                          \
+       ./non_optimal/nul_complex1     \
+       ./non_optimal/usvd_e_t         \
+       ./non_optimal/youcef           \
+       ./reservoir/cholesky2          \
+       ./reservoir/fusion1            \
+       ./reservoir/fusion2            \
+       ./reservoir/jacobi2            \
+       ./reservoir/jacobi3            \
+       ./reservoir/lim-lam1           \
+       ./reservoir/lim-lam2           \
+       ./reservoir/lim-lam3           \
+       ./reservoir/lim-lam4           \
+       ./reservoir/lim-lam5           \
+       ./reservoir/lim-lam6           \
+       ./reservoir/liu-zhuge1         \
+       ./reservoir/loechner3          \
+       ./reservoir/loechner4          \
+       ./reservoir/loechner5          \
+       ./reservoir/mg-interp2         \
+       ./reservoir/mg-interp          \
+       ./reservoir/mg-psinv           \
+       ./reservoir/mg-resid           \
+       ./reservoir/mg-rprj3           \
+       ./reservoir/pingali1           \
+       ./reservoir/pingali2           \
+       ./reservoir/pingali3           \
+       ./reservoir/pingali4           \
+       ./reservoir/pingali5           \
+       ./reservoir/pingali6           \
+       ./reservoir/QR                 \
+       ./reservoir/tang-xue1          \
+       ./reservoir/two   
+
+#      ./reservoir/long               \
+#      faber
+
+CLOOGTEST_FORTRAN =                    \
+       dartef                         \
+       iftestf                        \
+       levenshtein-1-2-3f             \
+       yosrf
+
+CLOOGTEST_STRIDED =                    \
+       nul_basic1                     \
+       nul_basic2                     \
+       nul_lcpc                       \
+       multi-stride                   \
+       multi-stride2                  \
+       reservoir/bastoul3             \
+       reservoir/stride               \
+       reservoir/stride2
+
+generate:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                 Generate files                *"
+       @echo "              *-----------------------------------------------*/"
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Generate $$x.c" ; \
+               cloog $$x.cloog -o $$x.c ; \
+       done ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Generate $$x.f" ; \
+               cloog $$x.cloog -o $$x.f ; \
+       done
+
+valgrind:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *            Checking files by Valgrind         *"
+       @echo "              *-----------------------------------------------*/"
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Valgrinding $$x.c" ; \
+               valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \
+       done ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Valgrinding $$x.f" ; \
+               valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \
+       done
+
+test:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                 Testing CLooG                 *"
+       @echo "              *-----------------------------------------------*/"
+       failedtest=0 ; \
+       echo "--- Testing C files..." ; \
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing FORTRAN files..." ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.f.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing STRIDED files..." ; \
+       for x in $(CLOOGTEST_STRIDED) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -strides 1 > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing SPECIAL OPTIONS files..." ; \
+               echo "Verify file vasilache (-f 8 -l 9)" ; \
+               x=vasilache ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f 8 -l 9 > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file merge (-f -1)" ; \
+               x=merge ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1  > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file equality (-f -1 -l 2 -override)" ; \
+               x=equality ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1 -l 2 -override  > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file equality (-f -1 -l 4 -esp 1 -override)" ; \
+               x=equality2; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1 -l 4 -esp 1 -override > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       rm ttemp ; \
+       if [ $$failedtest != 0 ] ; then \
+               echo "$$failedtest tests failed" ; \
+       else \
+               echo "CLooG works correctly :-) !" ; \
+        fi
diff --git a/test/Makefile.in b/test/Makefile.in
new file mode 100644 (file)
index 0000000..5e047a7
--- /dev/null
@@ -0,0 +1,622 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#
+#   /**-------------------------------------------------------------------**
+#    **                              CLooG                                **
+#    **-------------------------------------------------------------------**
+#    **                            makefile                               **
+#    **-------------------------------------------------------------------**
+#    **                   First version: march 6th 2003                   **
+#    **-------------------------------------------------------------------**/
+#
+# makefile for checking.
+
+#/*****************************************************************************
+# *               CLooG : the Chunky Loop Generator (experimental)            *
+# *****************************************************************************
+# *                                                                           *
+# * Copyright (C) 2003 Cedric Bastoul                                         *
+# *                                                                           *
+# * This is free software; you can redistribute it and/or modify it under the *
+# * terms of the GNU General Public License as published by the Free Software *
+# * Foundation; either version 2 of the License, or (at your option) any      *
+# * later version.                                                           *
+# *                                                                           *
+# * This software is distributed in the hope that it will be useful, but      *
+# * WITHOUT ANY WARRANTY; without even the implied warranty of                *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General *
+# * Public License for more details.                                          *
+# *                                                                           *
+# * You should have received a copy of the GNU General Public License along   *
+# * with software; if not, write to the Free Software Foundation, Inc.,       *
+# * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                    *
+# *                                                                           *
+# * CLooG, the Chunky Loop Generator                                          *
+# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                        *
+# * This file has been written with the help of the Bart Kienhuis's checking  *
+# * makefile for PipLib.                                                      *
+# *                                                                           *
+# *****************************************************************************/
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = test
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
+       $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+       $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+       $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/autoconf/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/cloog/cloog-config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+INSTALL = @INSTALL@
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BITS = @BITS@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CD = @CD@
+CFLAGS = @CFLAGS@
+CLOOG_VERSION_BETA = @CLOOG_VERSION_BETA@
+CLOOG_VERSION_MAJOR = @CLOOG_VERSION_MAJOR@
+CLOOG_VERSION_MINOR = @CLOOG_VERSION_MINOR@
+CLOOG_VERSION_REVISION = @CLOOG_VERSION_REVISION@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GIT_INDEX = @GIT_INDEX@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POLYHEDRAL_BACKEND = @POLYHEDRAL_BACKEND@
+POLYLIB_CPPFLAGS = @POLYLIB_CPPFLAGS@
+POLYLIB_LDFLAGS = @POLYLIB_LDFLAGS@
+POLYLIB_LIBS = @POLYLIB_LIBS@
+PPL_CPPFLAGS = @PPL_CPPFLAGS@
+PPL_LDFLAGS = @PPL_LDFLAGS@
+PPL_LIBS = @PPL_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHEXT = @SHEXT@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+cl_cv_polylib = @cl_cv_polylib@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+ROOT = ..
+CLOOGTEST_C = \
+       1point-1                       \
+       1point-2                       \
+       4-param                        \
+       basic-bounds-1                 \
+       basic-bounds-2                 \
+       basic-bounds-3                 \
+       basic-bounds-4                 \
+       basic-bounds-5                 \
+       basic-bounds-6                 \
+       byu98-1-2-3                    \
+       cholesky                       \
+       cholesky2                      \
+       classen                        \
+       darte                          \
+       donotsimp                      \
+       dot                            \
+       dot2                           \
+       double                         \
+       durbin_e_s                     \
+       emploi                         \
+       esced                          \
+       ex1                            \
+       forwardsub-1-1-2               \
+       forwardsub-2-1-2-3             \
+       forwardsub-3-1-2               \
+       gauss                          \
+       gesced                         \
+       gesced2                        \
+       gesced3                        \
+       guide                          \
+       iftest                         \
+       iftest2                        \
+       infinite                       \
+       infinite2                      \
+       infinite3                      \
+       infinite4                      \
+       largeur                        \
+       levenshtein-1-2-3              \
+       lineality-1-2                  \
+       lineality-2-1-2                \
+       logo                           \
+       logopar                        \
+       lu                             \
+       lu2                            \
+       lub                            \
+       lux                            \
+       min-1-1                        \
+       min-2-1                        \
+       min-3-1                        \
+       min-4-1                        \
+       mode                           \
+       multi-mm-1                     \
+       no_lindep                      \
+       not_equal                      \
+       orc                            \
+       rectangle                      \
+       square+triangle-1-1-2-3        \
+       swim                           \
+       test                           \
+       thomasset                      \
+       tiling                         \
+       uday_scalars                   \
+       vivien                         \
+       vivien2                        \
+       wavefront                      \
+       yosr                           \
+       yosr2                          \
+       ./non_optimal/nul_complex1     \
+       ./non_optimal/usvd_e_t         \
+       ./non_optimal/youcef           \
+       ./reservoir/cholesky2          \
+       ./reservoir/fusion1            \
+       ./reservoir/fusion2            \
+       ./reservoir/jacobi2            \
+       ./reservoir/jacobi3            \
+       ./reservoir/lim-lam1           \
+       ./reservoir/lim-lam2           \
+       ./reservoir/lim-lam3           \
+       ./reservoir/lim-lam4           \
+       ./reservoir/lim-lam5           \
+       ./reservoir/lim-lam6           \
+       ./reservoir/liu-zhuge1         \
+       ./reservoir/loechner3          \
+       ./reservoir/loechner4          \
+       ./reservoir/loechner5          \
+       ./reservoir/mg-interp2         \
+       ./reservoir/mg-interp          \
+       ./reservoir/mg-psinv           \
+       ./reservoir/mg-resid           \
+       ./reservoir/mg-rprj3           \
+       ./reservoir/pingali1           \
+       ./reservoir/pingali2           \
+       ./reservoir/pingali3           \
+       ./reservoir/pingali4           \
+       ./reservoir/pingali5           \
+       ./reservoir/pingali6           \
+       ./reservoir/QR                 \
+       ./reservoir/tang-xue1          \
+       ./reservoir/two   
+
+
+#      ./reservoir/long               \
+#      faber
+CLOOGTEST_FORTRAN = \
+       dartef                         \
+       iftestf                        \
+       levenshtein-1-2-3f             \
+       yosrf
+
+CLOOGTEST_STRIDED = \
+       nul_basic1                     \
+       nul_basic2                     \
+       nul_lcpc                       \
+       multi-stride                   \
+       multi-stride2                  \
+       reservoir/bastoul3             \
+       reservoir/stride               \
+       reservoir/stride2
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  test/Makefile'; \
+       cd $(top_srcdir) && \
+         $(AUTOMAKE) --foreign  test/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+       -rm -f *.lo
+
+clean-libtool:
+       -rm -rf .libs _libs
+
+distclean-libtool:
+       -rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+       list='$(DISTFILES)'; for file in $$list; do \
+         case $$file in \
+           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+         esac; \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+         if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+           dir="/$$dir"; \
+           $(mkdir_p) "$(distdir)$$dir"; \
+         else \
+           dir=''; \
+         fi; \
+         if test -d $$d/$$file; then \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+           fi; \
+           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+         else \
+           test -f $(distdir)/$$file \
+           || cp -p $$d/$$file $(distdir)/$$file \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+         `test -z '$(STRIP)' || \
+           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+       distclean distclean-generic distclean-libtool distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-exec install-exec-am \
+       install-info install-info-am install-man install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+       uninstall-info-am
+
+
+generate:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                 Generate files                *"
+       @echo "              *-----------------------------------------------*/"
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Generate $$x.c" ; \
+               cloog $$x.cloog -o $$x.c ; \
+       done ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Generate $$x.f" ; \
+               cloog $$x.cloog -o $$x.f ; \
+       done
+
+valgrind:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *            Checking files by Valgrind         *"
+       @echo "              *-----------------------------------------------*/"
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Valgrinding $$x.c" ; \
+               valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \
+       done ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Valgrinding $$x.f" ; \
+               valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \
+       done
+
+test:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                 Testing CLooG                 *"
+       @echo "              *-----------------------------------------------*/"
+       failedtest=0 ; \
+       echo "--- Testing C files..." ; \
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing FORTRAN files..." ; \
+       for x in $(CLOOGTEST_FORTRAN) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.f.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing STRIDED files..." ; \
+       for x in $(CLOOGTEST_STRIDED) ; do \
+               echo "Verify file $$x" ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -strides 1 > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       done ; \
+       echo "--- Testing SPECIAL OPTIONS files..." ; \
+               echo "Verify file vasilache (-f 8 -l 9)" ; \
+               x=vasilache ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f 8 -l 9 > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file merge (-f -1)" ; \
+               x=merge ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1  > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file equality (-f -1 -l 2 -override)" ; \
+               x=equality ; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1 -l 2 -override  > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+               echo "Verify file equality (-f -1 -l 4 -esp 1 -override)" ; \
+               x=equality2; \
+               $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \
+               -f -1 -l 4 -esp 1 -override > ttemp ; \
+               diff -w --ignore-matching-lines='CLooG' ttemp $(srcdir)/$$x.c.@POLYHEDRAL_BACKEND@ ; \
+               result=$$?; \
+               if [ "$$result" -ne "0" ] ; then \
+                       echo "!!! Error: $$x is not the same" ; \
+                       failedtest=`expr $$failedtest + 1` ; \
+               else \
+                       echo "$$x passed" ; \
+               fi ; \
+       rm ttemp ; \
+       if [ $$failedtest != 0 ] ; then \
+               echo "$$failedtest tests failed" ; \
+       else \
+               echo "CLooG works correctly :-) !" ; \
+        fi
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/ard.cloog b/test/ard.cloog
new file mode 100644 (file)
index 0000000..b578eac
--- /dev/null
@@ -0,0 +1,28 @@
+# language: C
+c
+
+# Context
+#{ | }
+1 2
+# 1
+1 1
+0
+
+1 # Number of statements
+
+1
+9 13
+0  1  0  0  0  0  0  0  0  0  0  0  0
+0  0  0  1  0  0  0  0  0 -1  0 -1  0
+0  0  0  0  1  0  0 -1  0  1  0  1  0
+0  0  0  0  0  0  0  0  1 -1  0  0  0
+0  0  0  0  0  0  0  0  0  0  1 -1  0
+1  0  0  0  0  0 -1  0  0  0  0  0  0
+1  0  0  0  0 -1  0  0  0  0  0  0  0
+1  0  1  0  0  0  0  0  0  0  0  0 -1
+1  0  0  0  0  0  0  0  0  0  0  0  1
+0  0  0
+0
+
+
+0 # Scattering functions
diff --git a/test/ard.dat b/test/ard.dat
new file mode 100644 (file)
index 0000000..b811887
--- /dev/null
@@ -0,0 +1,13 @@
+9 13
+0  1  0  0  0  0  0  0  0  0  0  0  0
+0  0  0  1  0  0  0  0  0 -1  0 -1  0
+0  0  0  0  1  0  0 -1  0  1  0  1  0
+0  0  0  0  0  0  0  0  1 -1  0  0  0
+0  0  0  0  0  0  0  0  0  0  1 -1  0
+1  0  0  0  0  0 -1  0  0  0  0  0  0
+1  0  0  0  0 -1  0  0  0  0  0  0  0
+1  0  1  0  0  0  0  0  0  0  0  0 -1
+1  0  0  0  0  0  0  0  0  0  0  0  1
+
+0 2
+
diff --git a/test/basic-bounds-1.c.polylib b/test/basic-bounds-1.c.polylib
new file mode 100644 (file)
index 0000000..dd63e82
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=2;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-1.c.ppl b/test/basic-bounds-1.c.ppl
new file mode 100644 (file)
index 0000000..b3a24fb
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./basic-bounds-1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=2;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-1.cloog b/test/basic-bounds-1.cloog
new file mode 100644 (file)
index 0000000..1c3ac40
--- /dev/null
@@ -0,0 +1,21 @@
+# language: C
+c
+
+# Context
+1 2
+1 1
+0
+
+1 # Number of statements
+
+1
+#
+3 3
+#  i  1
+1  1  0
+1 -1  2
+1  0  1 
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/basic-bounds-2.c.polylib b/test/basic-bounds-2.c.polylib
new file mode 100644 (file)
index 0000000..3487c4d
--- /dev/null
@@ -0,0 +1,2 @@
+/* Generated by CLooG v0.10.7 */
+S1(i = 0) ;
diff --git a/test/basic-bounds-2.c.ppl b/test/basic-bounds-2.c.ppl
new file mode 100644 (file)
index 0000000..6b4fc13
--- /dev/null
@@ -0,0 +1,2 @@
+/* Generated from ./basic-bounds-2.cloog by CLooG 0.15 64 bits in 0.00s. */
+S1(i = 0) ;
diff --git a/test/basic-bounds-2.cloog b/test/basic-bounds-2.cloog
new file mode 100644 (file)
index 0000000..45a51ba
--- /dev/null
@@ -0,0 +1,21 @@
+# language: C
+c
+
+# Context
+1 2
+1 1
+0
+
+1 # Number of statements
+
+1
+#
+3 3
+#  i  1
+1  3  0
+1 -3  2
+1  0  1 
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/basic-bounds-3.c.polylib b/test/basic-bounds-3.c.polylib
new file mode 100644 (file)
index 0000000..bcfacd2
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=M;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-3.c.ppl b/test/basic-bounds-3.c.ppl
new file mode 100644 (file)
index 0000000..38c0d50
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./basic-bounds-3.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=M;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-3.cloog b/test/basic-bounds-3.cloog
new file mode 100644 (file)
index 0000000..f3ad8bc
--- /dev/null
@@ -0,0 +1,23 @@
+# language: C
+c
+
+# Context
+2 3
+# M 1
+1 1 0
+1 0 1
+0
+
+1 # Number of statements
+
+1
+#
+3 4
+#  i  M  1
+1  1  0  0
+1 -1  1  0
+1  0  0  1  
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/basic-bounds-4.c.polylib b/test/basic-bounds-4.c.polylib
new file mode 100644 (file)
index 0000000..8deaff4
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=M+1;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-4.c.ppl b/test/basic-bounds-4.c.ppl
new file mode 100644 (file)
index 0000000..e978868
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./basic-bounds-4.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=M+1;i++) {
+  S1 ;
+}
diff --git a/test/basic-bounds-4.cloog b/test/basic-bounds-4.cloog
new file mode 100644 (file)
index 0000000..5e76687
--- /dev/null
@@ -0,0 +1,23 @@
+# language: C
+c
+
+# Context
+2 3
+# M 1
+1 1 0
+1 0 1
+0
+
+1 # Number of statements
+
+1
+#
+3 4
+#  i  M  1
+1  1  0  0
+1 -1  1  1
+1  0  0  1  
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/basic-bounds-5.c.polylib b/test/basic-bounds-5.c.polylib
new file mode 100644 (file)
index 0000000..d692c02
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (j=ceild(M,2);j<=floord(M+1,2);j++) {
+  S1(i = 1) ;
+}
diff --git a/test/basic-bounds-5.c.ppl b/test/basic-bounds-5.c.ppl
new file mode 100644 (file)
index 0000000..33de1a0
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./basic-bounds-5.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (j=ceild(M,2);j<=floord(M+1,2);j++) {
+  S1(i = 1) ;
+}
diff --git a/test/basic-bounds-5.cloog b/test/basic-bounds-5.cloog
new file mode 100644 (file)
index 0000000..855a9bb
--- /dev/null
@@ -0,0 +1,22 @@
+# language: C
+c
+
+# Context
+1 3
+# M 1
+1 0 1
+0
+
+1 # Number of statements
+
+1
+# {i,j,N | i=1; 2j-1<=N<=2j}
+3 5
+#  i  j  M  1
+0  1  0  0 -1
+1  0  2 -1  0
+1  0 -2  1  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/basic-bounds-6.c.polylib b/test/basic-bounds-6.c.polylib
new file mode 100644 (file)
index 0000000..ef62cc8
--- /dev/null
@@ -0,0 +1,2 @@
+/* Generated by CLooG v0.10.7 */
+S1(i = -1) ;
diff --git a/test/basic-bounds-6.c.ppl b/test/basic-bounds-6.c.ppl
new file mode 100644 (file)
index 0000000..0bea62d
--- /dev/null
@@ -0,0 +1,2 @@
+/* Generated from ./basic-bounds-6.cloog by CLooG 0.15 64 bits in 0.00s. */
+S1(i = -1) ;
diff --git a/test/basic-bounds-6.cloog b/test/basic-bounds-6.cloog
new file mode 100644 (file)
index 0000000..2acc2ab
--- /dev/null
@@ -0,0 +1,20 @@
+# language: C
+c
+
+# Context
+1 2
+1 1
+0
+
+1 # Number of statements
+
+1
+3 3
+#  i  1
+1  2  3
+1 -2 -1
+1  0  1 
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/bigs/applu.N.w2p12 b/test/bigs/applu.N.w2p12
new file mode 100644 (file)
index 0000000..72c3b58
--- /dev/null
@@ -0,0 +1,2772 @@
+
+
+#----------------------SCoP NO. 12
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 5         # 1 lines and 5 coloumns
+   #   NZ   NY   NX    1
+   0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+  NZ   NY   NX         # parameter names
+
+#---------------------STATEMENTS--------------------
+ 110 #Number of Statements
+
+   1 #STMT 1 at line no. 814 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    1 
+   1    0    0   -1    0    0    0    1    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 2 at line no. 824 has 1 domain
+   # Domain 1
+   2 6
+   #    K   NZ   NY   NX    1 
+   1    1    0    0    0    2 
+   1   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 828 has 1 domain
+   # Domain 1
+   4 7
+   #    K    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    2 
+   1   -1    0    1    0    0    0 
+   1    0    1    0    0    0    2 
+   1    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 832 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 836 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    1 
+   1    0    0   -1    0    0    0    1    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 6 at line no. 852 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 854 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 856 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 861 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 863 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 865 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 867 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 875 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    0    0    1    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 14 at line no. 884 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 886 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 887 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 888 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 889 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 891 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 893 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 894 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 895 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 896 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 898 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 899 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 900 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 901 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 912 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 917 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 923 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 929 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 935 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 947 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 34 at line no. 952 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 35 at line no. 964 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    0    0    1   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 36 at line no. 977 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 37 at line no. 983 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 38 at line no. 998 has 1 domain
+   # Domain 1
+   2 6
+   #    K   NZ   NY   NX    1 
+   1    1    0    0    0    2 
+   1   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 1002 has 1 domain
+   # Domain 1
+   4 7
+   #    K    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    2 
+   1   -1    0    1    0    0    0 
+   1    0    1    0    0    0    2 
+   1    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 1006 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 1010 has 1 domain
+   # Domain 1
+   8 9
+   #    K    I    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 42 at line no. 1026 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 1028 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 1030 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 1035 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 1037 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 47 at line no. 1039 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 48 at line no. 1041 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 49 at line no. 1049 has 1 domain
+   # Domain 1
+   8 9
+   #    K    I    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    0    1    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 50 at line no. 1058 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 1060 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 1061 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 1062 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 54 at line no. 1063 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 1065 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 56 at line no. 1067 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 57 at line no. 1068 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 1069 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 59 at line no. 1070 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 60 at line no. 1072 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 61 at line no. 1073 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 62 at line no. 1074 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 63 at line no. 1075 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 64 at line no. 1086 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 65 at line no. 1091 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 66 at line no. 1097 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 67 at line no. 1103 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 68 at line no. 1109 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 69 at line no. 1121 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 70 at line no. 1126 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 71 at line no. 1138 has 1 domain
+   # Domain 1
+   8 9
+   #    K    I    J    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    0    1    0   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 72 at line no. 1151 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 73 at line no. 1157 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 74 at line no. 1172 has 1 domain
+   # Domain 1
+   2 6
+   #    J   NZ   NY   NX    1 
+   1    1    0    0    0    2 
+   1   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 75 at line no. 1176 has 1 domain
+   # Domain 1
+   4 7
+   #    J    I   NZ   NY   NX    1 
+   1    1    0    0    0    0    2 
+   1   -1    0    0    1    0    0 
+   1    0    1    0    0    0    2 
+   1    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 76 at line no. 1180 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 77 at line no. 1184 has 1 domain
+   # Domain 1
+   8 9
+   #    J    I    K    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    1 
+   1    0    0   -1    0    1    0    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 78 at line no. 1200 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 79 at line no. 1202 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 80 at line no. 1204 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 81 at line no. 1209 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 82 at line no. 1211 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 83 at line no. 1213 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 84 at line no. 1215 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 85 at line no. 1223 has 1 domain
+   # Domain 1
+   8 9
+   #    J    I    K    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    1    0    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 86 at line no. 1232 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 87 at line no. 1234 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 88 at line no. 1235 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 89 at line no. 1236 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 1237 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 91 at line no. 1239 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 92 at line no. 1241 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 93 at line no. 1242 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 94 at line no. 1243 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 95 at line no. 1244 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 96 at line no. 1246 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 97 at line no. 1247 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 98 at line no. 1248 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 99 at line no. 1249 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 100 at line no. 1260 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 101 at line no. 1265 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 102 at line no. 1271 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 103 at line no. 1277 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 104 at line no. 1283 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 105 at line no. 1295 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 106 at line no. 1300 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 107 at line no. 1312 has 1 domain
+   # Domain 1
+   8 9
+   #    J    I    K    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    0    1    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    1    0    0   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 108 at line no. 1325 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 109 at line no. 1331 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NZ   NY   NX    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 110 at line no. 1341 has 1 domain
+   # Domain 1
+   1 5
+   #   NZ   NY   NX    1 
+   0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   K    J    I    M    #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+ 110 #Scattering functions
+
+# Scattering Matrix for stmt at line no.814
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.824
+   9 15
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.828
+   9 16
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.832
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.836
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.852
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.854
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.856
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.861
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.863
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.865
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.867
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.875
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.884
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.886
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.887
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.888
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.889
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.891
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.893
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.894
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.895
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.896
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.898
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.899
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.900
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.901
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.912
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.917
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.923
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.929
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.935
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.947
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.952
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.964
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.977
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.983
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.998
+   9 15
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1002
+   9 16
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1006
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1010
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1026
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1028
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1030
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1035
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1037
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1039
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1041
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1049
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1058
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1060
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1061
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1062
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1063
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1065
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1067
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1068
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1069
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1070
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1072
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1073
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1074
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1075
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1086
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1091
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1097
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1103
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1109
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1121
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1126
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1138
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1151
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1157
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1172
+   9 15
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1176
+   9 16
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1180
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1184
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1200
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1202
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1204
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1209
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1211
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1213
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1215
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1223
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1232
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1234
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1235
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1236
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1237
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1239
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1241
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1242
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1243
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1244
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1246
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1247
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1248
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1249
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1260
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1265
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1271
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1277
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1283
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1295
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1300
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1312
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1325
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1331
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1341
+   9 14
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8   NZ   NY   NX    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6   p7   p8   #Scattering dimension names
diff --git a/test/bigs/applu.N.w2p21 b/test/bigs/applu.N.w2p21
new file mode 100644 (file)
index 0000000..9f126eb
--- /dev/null
@@ -0,0 +1,2484 @@
+
+
+#----------------------SCoP NO. 21
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 5         # 1 lines and 5 coloumns
+   #   NX   NY   NZ    1
+   0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+  NX   NY   NZ         # parameter names
+
+#---------------------STATEMENTS--------------------
+  98 #Number of Statements
+
+   1 #STMT 1 at line no. 2614 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    1 
+   1    0    0   -1    0    1    0    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 2 at line no. 2628 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 2630 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 2632 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 2637 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 2639 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 2641 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 2643 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 2651 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    1    0    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 10 at line no. 2660 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 2662 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 2663 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 2664 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 2665 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 2667 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 2669 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 2670 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 2671 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 2672 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 2674 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 2675 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 2676 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 2677 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 2688 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 2693 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 2699 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 2705 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 2711 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    I   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 2723 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 30 at line no. 2728 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 31 at line no. 2740 has 1 domain
+   # Domain 1
+   8 9
+   #    K    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    1    0    0   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 32 at line no. 2753 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 33 at line no. 2759 has 1 domain
+   # Domain 1
+   6 8
+   #    K    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 34 at line no. 2778 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 2780 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 2782 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 2787 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 2789 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 2791 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 2793 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 2801 has 1 domain
+   # Domain 1
+   8 9
+   #    K    I    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    0    1    0    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 42 at line no. 2810 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 2812 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 2813 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 2814 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 2815 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 47 at line no. 2817 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 48 at line no. 2819 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 49 at line no. 2820 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 50 at line no. 2821 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 2822 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 2824 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 2825 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 54 at line no. 2826 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 2827 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 56 at line no. 2838 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 57 at line no. 2843 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 2849 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 59 at line no. 2855 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 60 at line no. 2861 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    J   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 61 at line no. 2873 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 62 at line no. 2878 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 63 at line no. 2890 has 1 domain
+   # Domain 1
+   8 9
+   #    K    I    J    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    0    1    0   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 64 at line no. 2903 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 65 at line no. 2909 has 1 domain
+   # Domain 1
+   6 8
+   #    K    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 66 at line no. 2928 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 67 at line no. 2930 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 68 at line no. 2932 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 69 at line no. 2937 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 70 at line no. 2939 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 71 at line no. 2941 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 72 at line no. 2943 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 73 at line no. 2951 has 1 domain
+   # Domain 1
+   8 9
+   #    J    I    K    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    2 
+   1    0    0   -1    0    0    0    1    0 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 74 at line no. 2960 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 75 at line no. 2962 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 76 at line no. 2963 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 77 at line no. 2964 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 78 at line no. 2965 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 79 at line no. 2967 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 80 at line no. 2969 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 81 at line no. 2970 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 82 at line no. 2971 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 83 at line no. 2972 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 84 at line no. 2974 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 85 at line no. 2975 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 86 at line no. 2976 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 87 at line no. 2977 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 88 at line no. 2988 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 89 at line no. 2993 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 2999 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 91 at line no. 3005 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 92 at line no. 3011 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    K   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    2 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 93 at line no. 3023 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 94 at line no. 3028 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 95 at line no. 3040 has 1 domain
+   # Domain 1
+   8 9
+   #    J    I    K    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    2 
+   1    0   -1    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    4 
+   1    0    0   -1    0    0    0    1   -3 
+   1    0    0    0    1    0    0    0    1 
+   1    0    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 96 at line no. 3053 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 97 at line no. 3059 has 1 domain
+   # Domain 1
+   6 8
+   #    J    I    M   NX   NY   NZ    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    2 
+   1    0   -1    0    1    0    0    0 
+   1    0    0    1    0    0    0    1 
+   1    0    0   -1    0    0    0    5 
+   0    0    0 
+
+   1 #STMT 98 at line no. 3070 has 1 domain
+   # Domain 1
+   1 5
+   #   NX   NY   NZ    1 
+   0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   K    J    I    M    #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  98 #Scattering functions
+
+# Scattering Matrix for stmt at line no.2614
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2628
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2630
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2632
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2637
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2639
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2641
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2643
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2651
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2660
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2662
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2663
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2664
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2665
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2667
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2669
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2670
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2671
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2672
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2674
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2675
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2676
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2677
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2688
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2693
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2699
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2705
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2711
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2723
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2728
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2740
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2753
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2759
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2778
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2780
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2782
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2787
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2789
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2791
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2793
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2801
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2810
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2812
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2813
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2814
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2815
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2817
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2819
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2820
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2821
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2822
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2824
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2825
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2826
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2827
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2838
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2843
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2849
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2855
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2861
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2873
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2878
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2890
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    J    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2903
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2909
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    K    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2928
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2930
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2932
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2937
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2939
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2941
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2943
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2951
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2960
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2962
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2963
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2964
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2965
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2967
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2969
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2970
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2971
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2972
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2974
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2975
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2976
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2977
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2988
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2993
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2999
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3005
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3011
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3023
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3028
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3040
+   9 18
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    K    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3053
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3059
+   9 17
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    J    I    M   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.3070
+   9 14
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8   NX   NY   NZ    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6   p7   p8   #Scattering dimension names
diff --git a/test/bigs/applu12.loopgen b/test/bigs/applu12.loopgen
new file mode 100644 (file)
index 0000000..5a25701
--- /dev/null
@@ -0,0 +1,2184 @@
+110 9 1
+
+# This is an automatic dump of an input file from a CloogProgram data
+# structure. It can be correct ONLY if dumped before loop generation.
+
+# Context (3 parameter(s)):
+1
+1 5
+   1    0    0    0    1 
+
+1
+# Iteration domain of statement 1.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 2.
+12 15
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 3.
+14 16
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 4.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 5.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 6.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 7.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 8.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 9.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 10.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 11.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 12.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 13.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 14.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 15.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 16.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 17.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 18.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 19.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 20.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 21.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 22.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 23.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 24.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 25.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 26.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 27.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 28.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 29.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 30.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 31.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 32.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 33.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 34.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 35.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 36.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 37.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 38.
+12 15
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 39.
+14 16
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 40.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 41.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 42.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 43.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 44.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 45.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 46.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 47.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 48.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 49.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 50.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 51.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 52.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 53.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 54.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 55.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 56.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 57.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 58.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 59.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 60.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 61.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 62.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 63.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 64.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 65.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 66.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 67.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 68.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 69.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 70.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 71.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 72.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 73.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 74.
+12 15
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 75.
+14 16
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 76.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 77.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 78.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 79.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 80.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 81.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 82.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 83.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 84.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 85.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 86.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 87.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 88.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 89.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 90.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 91.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 92.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 93.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 94.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 95.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 96.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 97.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 98.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 99.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 100.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 101.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 102.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 103.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 104.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 105.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 106.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 107.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 108.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 109.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 110.
+10 14
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
diff --git a/test/bigs/applu21.loopgen b/test/bigs/applu21.loopgen
new file mode 100644 (file)
index 0000000..39c2fd0
--- /dev/null
@@ -0,0 +1,1959 @@
+98 9 1
+
+# This is an automatic dump of an input file from a CloogProgram data
+# structure. It can be correct ONLY if dumped before loop generation.
+
+# Context (3 parameter(s)):
+1
+1 5
+   1    0    0    0    1 
+
+1
+# Iteration domain of statement 1.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 2.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 3.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 4.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 5.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 6.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 7.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 8.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 9.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 10.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 11.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 12.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 13.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 14.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 15.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 16.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 17.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 18.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 19.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 20.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 21.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 22.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 23.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 24.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 25.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 26.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 27.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 28.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 29.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 30.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 31.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 32.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 33.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 34.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 35.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 36.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 37.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 38.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 39.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 40.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 41.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 42.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 43.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 44.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 45.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 46.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 47.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 48.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 49.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 50.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 51.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 52.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 53.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 54.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 55.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 56.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 57.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 58.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 59.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 60.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 61.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 62.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 63.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 64.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 65.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 66.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 67.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 68.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 69.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 70.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 71.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 72.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 73.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 74.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 75.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 76.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 77.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 78.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 79.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 80.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 81.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 82.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 83.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 84.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 85.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 86.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 87.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 88.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 89.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 90.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 91.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 92.
+16 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
+1
+# Iteration domain of statement 93.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 94.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 95.
+17 18
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    4 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    1   -3 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 96.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 97.
+15 17
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0   -1    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    1    0    0    0    0    2 
+   1    0    0    0    0    0    0    0    0    0    0   -1    0    1    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0    1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    5 
+
+1
+# Iteration domain of statement 98.
+10 14
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+
diff --git a/test/bigs/apsi.N.w2p82 b/test/bigs/apsi.N.w2p82
new file mode 100644 (file)
index 0000000..6f53ad1
--- /dev/null
@@ -0,0 +1,1255 @@
+
+
+#----------------------SCoP NO. 82
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 7         # 1 lines and 7 coloumns
+   #  IDO   IP   L1 IPPH IDL1    1
+   0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+ IDO   IP   L1 IPPH IDL1       # parameter names
+
+#---------------------STATEMENTS--------------------
+  58 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 0 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 5444 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 5445 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 5446 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 5448 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 5450 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5456 is non-static
+
+   1 #STMT 14 at line no. 5456 has 1 domain
+   # Domain 1
+   4 9
+   #    K    I  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5466 is non-static
+
+   1 #STMT 15 at line no. 5466 has 1 domain
+   # Domain 1
+   4 9
+   #    I    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    1    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5477 is non-static
+
+   1 #STMT 16 at line no. 5477 has 1 domain
+   # Domain 1
+   4 9
+   #    J    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5480 is non-static
+
+   1 #STMT 17 at line no. 5480 has 1 domain
+   # Domain 1
+   4 9
+   #    J    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5494 is non-static
+
+   1 #STMT 18 at line no. 5494 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5497 is non-static
+
+   1 #STMT 19 at line no. 5497 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5500 is non-static
+
+   1 #STMT 20 at line no. 5500 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5503 is non-static
+
+   1 #STMT 21 at line no. 5503 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5518 is non-static
+
+   1 #STMT 22 at line no. 5518 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5521 is non-static
+
+   1 #STMT 23 at line no. 5521 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5524 is non-static
+
+   1 #STMT 24 at line no. 5524 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5527 is non-static
+
+   1 #STMT 25 at line no. 5527 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 5533 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 5534 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 5538 has 1 domain
+   # Domain 1
+   2 8
+   #    L  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 5539 has 1 domain
+   # Domain 1
+   2 8
+   #    L  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 5540 has 1 domain
+   # Domain 1
+   2 8
+   #    L  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5543 is non-static
+
+   1 #STMT 31 at line no. 5543 has 1 domain
+   # Domain 1
+   4 9
+   #    L   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    1    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5546 is non-static
+
+   1 #STMT 32 at line no. 5546 has 1 domain
+   # Domain 1
+   4 9
+   #    L   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 5550 has 1 domain
+   # Domain 1
+   2 8
+   #    L  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 5551 has 1 domain
+   # Domain 1
+   2 8
+   #    L  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 5554 has 1 domain
+   # Domain 1
+   4 9
+   #    L    J  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    3 
+   1    0   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 5555 has 1 domain
+   # Domain 1
+   4 9
+   #    L    J  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    3 
+   1    0   -1    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 5556 has 1 domain
+   # Domain 1
+   4 9
+   #    L    J  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    3 
+   1    0   -1    0    0    0    1    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5559 is non-static
+
+   1 #STMT 38 at line no. 5559 has 1 domain
+   # Domain 1
+   6 10
+   #    L    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    1    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5562 is non-static
+
+   1 #STMT 39 at line no. 5562 has 1 domain
+   # Domain 1
+   6 10
+   #    L    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 5571 has 1 domain
+   # Domain 1
+   4 9
+   #    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    1    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5579 is non-static
+
+   1 #STMT 41 at line no. 5579 has 1 domain
+   # Domain 1
+   4 9
+   #    J    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5582 is non-static
+
+   1 #STMT 42 at line no. 5582 has 1 domain
+   # Domain 1
+   4 9
+   #    J    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5595 is non-static
+
+   1 #STMT 43 at line no. 5595 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5598 is non-static
+
+   1 #STMT 44 at line no. 5598 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5601 is non-static
+
+   1 #STMT 45 at line no. 5601 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5604 is non-static
+
+   1 #STMT 46 at line no. 5604 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5618 is non-static
+
+   1 #STMT 47 at line no. 5618 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5621 is non-static
+
+   1 #STMT 48 at line no. 5621 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5624 is non-static
+
+   1 #STMT 49 at line no. 5624 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5627 is non-static
+
+   1 #STMT 50 at line no. 5627 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 5636 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 5641 has 1 domain
+   # Domain 1
+   2 8
+   #   IK  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    1 
+   1   -1    0    0    0    0    1    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5647 is non-static
+
+   1 #STMT 53 at line no. 5647 has 1 domain
+   # Domain 1
+   4 9
+   #    J    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5661 is non-static
+
+   1 #STMT 54 at line no. 5661 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5664 is non-static
+
+   1 #STMT 55 at line no. 5664 has 1 domain
+   # Domain 1
+   6 10
+   #    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -2    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 5680 is non-static
+
+   1 #STMT 56 at line no. 5680 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 5683 is non-static
+
+   1 #STMT 57 at line no. 5683 has 1 domain
+   # Domain 1
+   6 10
+   #    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0 
+   1    0    0    1    0    0    0    0    0    0 
+   1    0    0   -2    1    0    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 58 at line no. 5691 has 1 domain
+   # Domain 1
+   1 7
+   #  IDO   IP   L1 IPPH IDL1    1 
+   0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   K    I    J .do_ivar    L   IK      #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  58 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5444
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5445
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5446
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5448
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5450
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5456
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    K    I  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5466
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    I    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5477
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5480
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5494
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5497
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5500
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.5503
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.5518
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5521
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5524
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.5527
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.5533
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5534
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5538
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6    L  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5539
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6    L  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5540
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6    L  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5543
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5546
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5550
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6    L  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5551
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6    L  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5554
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L    J  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5555
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L    J  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5556
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L    J  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5559
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5562
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5571
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5579
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5582
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5595
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5598
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5601
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.5604
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.5618
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5621
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5624
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.5627
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.5636
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5641
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6   IK  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5647
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    J    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5661
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5664
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5680
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.5683
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.5691
+   7 14
+   #   p0   p1   p2   p3   p4   p5   p6  IDO   IP   L1 IPPH IDL1    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6     #Scattering dimension names
diff --git a/test/bigs/apsi.N.w2p89 b/test/bigs/apsi.N.w2p89
new file mode 100644 (file)
index 0000000..629fa0c
--- /dev/null
@@ -0,0 +1,1221 @@
+
+
+#----------------------SCoP NO. 89
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 8         # 1 lines and 8 coloumns
+   # IDL1  IDO   L1   IP IPPH  NBD    1
+   0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+IDL1  IDO   L1   IP IPPH  NBD  # parameter names
+
+#---------------------STATEMENTS--------------------
+  56 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 6059 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 6060 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 6061 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 6062 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 6065 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 6071 has 1 domain
+   # Domain 1
+   2 9
+   #   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6080 is non-static
+
+   1 #STMT 11 at line no. 6080 has 1 domain
+   # Domain 1
+   4 10
+   #    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6096 is non-static
+
+   1 #STMT 12 at line no. 6096 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6099 is non-static
+
+   1 #STMT 13 at line no. 6099 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6117 is non-static
+
+   1 #STMT 14 at line no. 6117 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6120 is non-static
+
+   1 #STMT 15 at line no. 6120 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6135 is non-static
+
+   1 #STMT 16 at line no. 6135 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6138 is non-static
+
+   1 #STMT 17 at line no. 6138 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6141 is non-static
+
+   1 #STMT 18 at line no. 6141 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6144 is non-static
+
+   1 #STMT 19 at line no. 6144 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6160 is non-static
+
+   1 #STMT 20 at line no. 6160 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6163 is non-static
+
+   1 #STMT 21 at line no. 6163 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6166 is non-static
+
+   1 #STMT 22 at line no. 6166 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6169 is non-static
+
+   1 #STMT 23 at line no. 6169 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 6182 has 1 domain
+   # Domain 1
+   2 9
+   #   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6193 is non-static
+
+   1 #STMT 25 at line no. 6193 has 1 domain
+   # Domain 1
+   4 10
+   #    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6196 is non-static
+
+   1 #STMT 26 at line no. 6196 has 1 domain
+   # Domain 1
+   4 10
+   #    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 6203 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 6204 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 6209 has 1 domain
+   # Domain 1
+   2 9
+   #    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 6210 has 1 domain
+   # Domain 1
+   2 9
+   #    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 6211 has 1 domain
+   # Domain 1
+   2 9
+   #    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6214 is non-static
+
+   1 #STMT 32 at line no. 6214 has 1 domain
+   # Domain 1
+   4 10
+   #    L   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6217 is non-static
+
+   1 #STMT 33 at line no. 6217 has 1 domain
+   # Domain 1
+   4 10
+   #    L   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 6221 has 1 domain
+   # Domain 1
+   2 9
+   #    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 6222 has 1 domain
+   # Domain 1
+   2 9
+   #    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 6225 has 1 domain
+   # Domain 1
+   4 10
+   #    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 6226 has 1 domain
+   # Domain 1
+   4 10
+   #    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 6227 has 1 domain
+   # Domain 1
+   4 10
+   #    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    1    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6230 is non-static
+
+   1 #STMT 39 at line no. 6230 has 1 domain
+   # Domain 1
+   6 11
+   #    L    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6233 is non-static
+
+   1 #STMT 40 at line no. 6233 has 1 domain
+   # Domain 1
+   6 11
+   #    L    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    3 
+   1    0   -1    0    0    0    0    0    1    0    0 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6245 is non-static
+
+   1 #STMT 41 at line no. 6245 has 1 domain
+   # Domain 1
+   4 10
+   #    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    1    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6258 is non-static
+
+   1 #STMT 42 at line no. 6258 has 1 domain
+   # Domain 1
+   4 10
+   #    K    I IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6270 is non-static
+
+   1 #STMT 43 at line no. 6270 has 1 domain
+   # Domain 1
+   4 10
+   #    I    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6283 is non-static
+
+   1 #STMT 44 at line no. 6283 has 1 domain
+   # Domain 1
+   4 10
+   #    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6285 is non-static
+
+   1 #STMT 45 at line no. 6285 has 1 domain
+   # Domain 1
+   4 10
+   #    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    1 
+   1    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 6293 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6305 is non-static
+
+   1 #STMT 47 at line no. 6305 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6308 is non-static
+
+   1 #STMT 48 at line no. 6308 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6311 is non-static
+
+   1 #STMT 49 at line no. 6311 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+   #The array reference in the statement at line no. 6314 is non-static
+
+   1 #STMT 50 at line no. 6314 has 1 domain
+   # Domain 1
+   6 11
+   #    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0 
+   1    0    0   -2    0    1    0    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 51 at line no. 6323 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    0    0   -1    0    0    1    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6334 is non-static
+
+   1 #STMT 52 at line no. 6334 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6337 is non-static
+
+   1 #STMT 53 at line no. 6337 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6340 is non-static
+
+   1 #STMT 54 at line no. 6340 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 6343 is non-static
+
+   1 #STMT 55 at line no. 6343 has 1 domain
+   # Domain 1
+   6 11
+   #    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   1    1    0    0    0    0    0    0    0    0    2 
+   1   -1    0    0    0    0    0    0    1    0    0 
+   1    0    1    0    0    0    0    0    0    0    0 
+   1    0   -2    0    0    1    0    0    0    0   -3 
+   1    0    0    1    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 56 at line no. 6352 has 1 domain
+   # Domain 1
+   1 8
+   # IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+  IK    J    K .do_ivar    L    I      #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  56 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6059
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6060
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6061
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6062
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6065
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6071
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6080
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6096
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6099
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6117
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6120
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6135
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6138
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6141
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.6144
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.6160
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6163
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6166
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.6169
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.6182
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6193
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6196
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6203
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6204
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6209
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6210
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6211
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6214
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6217
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6221
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6222
+   7 16
+   #   p0   p1   p2   p3   p4   p5   p6    L IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6225
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6226
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6227
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    L    J IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6230
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    L    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6233
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    L    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6245
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J   IK IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6258
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    K    I IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6270
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    I    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6283
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6285
+   7 17
+   #   p0   p1   p2   p3   p4   p5   p6    J    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6293
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6305
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6308
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6311
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.6314
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J    K .do_ivar IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.6323
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6334
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.6337
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.6340
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.6343
+   7 18
+   #   p0   p1   p2   p3   p4   p5   p6    J .do_ivar    K IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.6352
+   7 15
+   #   p0   p1   p2   p3   p4   p5   p6 IDL1  IDO   L1   IP IPPH  NBD    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6     #Scattering dimension names
diff --git a/test/bigs/dyfesm.N.w2p20 b/test/bigs/dyfesm.N.w2p20
new file mode 100644 (file)
index 0000000..36e9729
--- /dev/null
@@ -0,0 +1,292 @@
+
+
+#----------------------SCoP NO. 20
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 3         # 1 lines and 3 coloumns
+   #  NDE    1
+   0    0    0 
+
+   1 # We want to set manually the parameter names
+ NDE   # parameter names
+
+#---------------------STATEMENTS--------------------
+  19 #Number of Statements
+
+   1 #STMT 1 at line no. 1605 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 1608 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 1613 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 1614 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 1620 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 1628 has 1 domain
+   # Domain 1
+   2 4
+   #    I  NDE    1 
+   1    1    0    1 
+   1   -1    1    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 1636 has 1 domain
+   # Domain 1
+   1 3
+   #  NDE    1 
+   0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   I   #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  19 #Scattering functions
+
+# Scattering Matrix for stmt at line no.1605
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0    0 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1608
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -1 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1613
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -2 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -3 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -4 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -5 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -6 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -7 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -8 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0   -9 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -10 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -11 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -12 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -13 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -14 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1614
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -15 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1620
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -16 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1628
+   3 7
+   #   p0   p1   p2    I  NDE    1 
+   0    1    0    0    0    0  -17 
+   0    0    1    0   -1    0    0 
+   0    0    0    1    0    0    0 
+
+# Scattering Matrix for stmt at line no.1636
+   3 6
+   #   p0   p1   p2  NDE    1 
+   0    1    0    0    0  -18 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2         #Scattering dimension names
diff --git a/test/bigs/lucas_distrib_spec.N.w2p1 b/test/bigs/lucas_distrib_spec.N.w2p1
new file mode 100644 (file)
index 0000000..03b2149
--- /dev/null
@@ -0,0 +1,2106 @@
+
+
+#----------------------SCoP NO. 1
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 10                # 1 lines and 10 coloumns
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1
+   0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+   N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A   # parameter names
+
+#---------------------STATEMENTS--------------------
+ 129 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 195 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 32 at line no. 196 has 1 domain
+   # Domain 1
+   2 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    0    1   -1    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 33 at line no. 198 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 34 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 35 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 36 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 37 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 38 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 39 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 40 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 41 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 42 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 43 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 44 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 45 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 46 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 47 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 48 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 49 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 50 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 51 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 52 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 53 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 54 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 55 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 56 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 57 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 58 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 59 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 60 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 61 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 62 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 63 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 64 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 65 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 66 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 67 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 68 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 69 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 70 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 71 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 72 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 73 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 74 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 75 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 76 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 77 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 78 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 79 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 80 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 81 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 82 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 83 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 84 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 85 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 86 at line no. 202 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 87 at line no. 207 has 1 domain
+   # Domain 1
+   2 11
+   #    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 88 at line no. 208 has 1 domain
+   # Domain 1
+   3 11
+   #    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 89 at line no. 210 has 1 domain
+   # Domain 1
+   2 11
+   # @f90li_0_1    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 211 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 91 at line no. 213 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 92 at line no. 214 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 93 at line no. 214 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 94 at line no. 215 has 1 domain
+   # Domain 1
+   2 11
+   # @f90li_0_2    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 95 at line no. 218 has 1 domain
+   # Domain 1
+   2 11
+   #    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 96 at line no. 221 has 1 domain
+   # Domain 1
+   3 11
+   #    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 97 at line no. 225 has 1 domain
+   # Domain 1
+   2 11
+   # @f90li_0_3    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1 
+   0    0    0 
+
+   1 #STMT 98 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 99 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 100 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 101 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 102 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 103 at line no. 227 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 104 at line no. 236 has 1 domain
+   # Domain 1
+   4 12
+   # @f90li_0_4 @f90li_1_4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 105 at line no. 236 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 106 at line no. 239 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 107 at line no. 249 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 108 at line no. 0 has 1 domain
+   # Domain 1
+   4 12
+   # @f90li_0_6 @f90li_1_6    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0 
+   1    0    1    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 109 at line no. 251 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 110 at line no. 0 has 1 domain
+   # Domain 1
+   2 11
+   # @f90li_0_8    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0   36 
+   0    0    0 
+
+   1 #STMT 111 at line no. 262 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 112 at line no. 262 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 113 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 114 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 115 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 116 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 117 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 118 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 119 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 120 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 121 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 122 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 123 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 124 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 125 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 126 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 127 at line no. 264 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 128 at line no. 267 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 #STMT 129 at line no. 267 has 1 domain
+   # Domain 1
+   1 10
+   #    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   1   -1    0    0    0    0    0    0    0  254 
+   0    0    0 
+
+   1 # Set Iterator Names
+   J @f90li_0_1 @f90li_0_2 @f90li_0_3 @f90li_0_4 @f90li_1_4 @f90li_0_6 @f90li_1_6 @f90li_0_8   #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+ 129 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.195
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.196
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.198
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.202
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.207
+   5 16
+   #   p0   p1   p2   p3   p4    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.208
+   5 16
+   #   p0   p1   p2   p3   p4    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.210
+   5 16
+   #   p0   p1   p2   p3   p4 @f90li_0_1    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.211
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.213
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.214
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.214
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.215
+   5 16
+   #   p0   p1   p2   p3   p4 @f90li_0_2    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.218
+   5 16
+   #   p0   p1   p2   p3   p4    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.221
+   5 16
+   #   p0   p1   p2   p3   p4    J    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.225
+   5 16
+   #   p0   p1   p2   p3   p4 @f90li_0_3    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.227
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.236
+   5 17
+   #   p0   p1   p2   p3   p4 @f90li_0_4 @f90li_1_4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.236
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.239
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.249
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 17
+   #   p0   p1   p2   p3   p4 @f90li_0_6 @f90li_1_6    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.251
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 16
+   #   p0   p1   p2   p3   p4 @f90li_0_8    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.262
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.262
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.264
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.267
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.267
+   5 15
+   #   p0   p1   p2   p3   p4    N  IHI    P BASE_INDEX BITS0 alloc_addr WORD    A    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4       #Scattering dimension names
diff --git a/test/bigs/lucas_distrib_spec.N.w2p10 b/test/bigs/lucas_distrib_spec.N.w2p10
new file mode 100644 (file)
index 0000000..3ec57c0
--- /dev/null
@@ -0,0 +1,2509 @@
+
+
+#----------------------SCoP NO. 10
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 15                # 1 lines and 15 coloumns
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+   N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K   # parameter names
+
+#---------------------STATEMENTS--------------------
+ 129 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 0 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 373 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 374 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 375 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 376 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 376 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 376 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 377 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 378 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 42 at line no. 389 has 1 domain
+   # Domain 1
+   2 16
+   #    I    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 391 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 394 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 45 at line no. 395 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 46 at line no. 396 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 47 at line no. 397 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 48 at line no. 398 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 49 at line no. 399 has 1 domain
+   # Domain 1
+   3 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 50 at line no. 401 has 1 domain
+   # Domain 1
+   2 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 404 has 1 domain
+   # Domain 1
+   2 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 405 has 1 domain
+   # Domain 1
+   2 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 407 has 1 domain
+   # Domain 1
+   2 16
+   # .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -2    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 54 at line no. 413 has 1 domain
+   # Domain 1
+   4 17
+   # @f90li_0_11 @f90li_1_11    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 420 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 56 at line no. 421 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+   #The array reference in the statement at line no. 423 is non-static
+
+   1 #STMT 57 at line no. 423 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 58 at line no. 435 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 59 at line no. 439 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 60 at line no. 439 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 61 at line no. 440 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 62 at line no. 441 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 63 at line no. 450 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 64 at line no. 451 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 65 at line no. 452 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 66 at line no. 453 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+   #The array reference in the statement at line no. 455 is non-static
+
+   1 #STMT 67 at line no. 455 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 68 at line no. 457 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 69 at line no. 458 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 70 at line no. 459 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 71 at line no. 467 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 72 at line no. 470 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 73 at line no. 471 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+   #The array reference in the statement at line no. 474 is non-static
+
+   1 #STMT 74 at line no. 474 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 75 at line no. 475 has 1 domain
+   # Domain 1
+   6 18
+   # ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 76 at line no. 480 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 77 at line no. 481 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 78 at line no. 482 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 79 at line no. 485 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 80 at line no. 489 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 81 at line no. 492 has 1 domain
+   # Domain 1
+   3 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 82 at line no. 503 has 1 domain
+   # Domain 1
+   4 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 83 at line no. 506 has 1 domain
+   # Domain 1
+   3 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 84 at line no. 512 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 85 at line no. 515 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 86 at line no. 516 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 87 at line no. 518 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 88 at line no. 522 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 89 at line no. 524 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 526 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 91 at line no. 527 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 92 at line no. 529 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 93 at line no. 530 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 94 at line no. 539 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 95 at line no. 541 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 96 at line no. 541 has 1 domain
+   # Domain 1
+   2 16
+   # ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 97 at line no. 559 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 98 at line no. 561 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 99 at line no. 562 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 100 at line no. 562 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 101 at line no. 563 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 102 at line no. 564 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 103 at line no. 572 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 104 at line no. 573 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 105 at line no. 574 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 106 at line no. 575 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+   #The array reference in the statement at line no. 577 is non-static
+
+   1 #STMT 107 at line no. 577 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 108 at line no. 579 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 109 at line no. 580 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 110 at line no. 581 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 111 at line no. 585 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 112 at line no. 588 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 113 at line no. 589 has 1 domain
+   # Domain 1
+   4 17
+   #    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 114 at line no. 594 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 115 at line no. 595 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 116 at line no. 596 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 117 at line no. 599 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 118 at line no. 606 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 119 at line no. 609 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 120 at line no. 620 has 1 domain
+   # Domain 1
+   2 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 121 at line no. 623 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 122 at line no. 629 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 123 at line no. 632 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 124 at line no. 633 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 125 at line no. 635 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 126 at line no. 636 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 127 at line no. 637 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 128 at line no. 639 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 129 at line no. 646 has 1 domain
+   # Domain 1
+   1 15
+   #    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   I .do_ivar @f90li_0_11 @f90li_1_11    J ITER        #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+ 129 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.373
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.374
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.375
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.376
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.376
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.376
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.377
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.378
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.389
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6    I    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.391
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.394
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.395
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.396
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.397
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.398
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.399
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.401
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.404
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.405
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.407
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 .do_ivar    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.413
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6 @f90li_0_11 @f90li_1_11    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.420
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.421
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.423
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.435
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.439
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.439
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.440
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.441
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.450
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.451
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.452
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.453
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.455
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.457
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.458
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.459
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.467
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.470
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.471
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.474
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.475
+   7 25
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.480
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.481
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.482
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.485
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.489
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.492
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.503
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.506
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.512
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.515
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.516
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.518
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.522
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.524
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.526
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.527
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.529
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.530
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.539
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.541
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.541
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 ITER    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.559
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.561
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.562
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.562
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.563
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.564
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.572
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.573
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.574
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.575
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.577
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.579
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.580
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.581
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.585
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.588
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.589
+   7 24
+   #   p0   p1   p2   p3   p4   p5   p6    I    J    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.594
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.595
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.596
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.599
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.606
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.609
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.620
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.623
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.629
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.632
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.633
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.635
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.636
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.637
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.639
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.646
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    N    J    B   N8  COL  ROW  ILO  IHI    L N8BIT   II FRACMAX    K    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6     #Scattering dimension names
diff --git a/test/bigs/mg3d.N.w2p26 b/test/bigs/mg3d.N.w2p26
new file mode 100644 (file)
index 0000000..6890fea
--- /dev/null
@@ -0,0 +1,2293 @@
+
+
+#----------------------SCoP NO. 26
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 13                # 1 lines and 13 coloumns
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I        # parameter names
+
+#---------------------STATEMENTS--------------------
+ 108 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 791 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 801 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0 
+   #The array reference in the statement at line no. 818 is non-static
+
+   1 #STMT 5 at line no. 818 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 819 is non-static
+
+   1 #STMT 6 at line no. 819 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 820 is non-static
+
+   1 #STMT 7 at line no. 820 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 821 is non-static
+
+   1 #STMT 8 at line no. 821 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 833 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 836 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 839 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 841 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 842 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 0 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 848 is non-static
+
+   1 #STMT 16 at line no. 848 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 849 is non-static
+
+   1 #STMT 17 at line no. 849 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 850 is non-static
+
+   1 #STMT 18 at line no. 850 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 851 is non-static
+
+   1 #STMT 19 at line no. 851 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 858 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 864 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 881 is non-static
+
+   1 #STMT 22 at line no. 881 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 882 is non-static
+
+   1 #STMT 23 at line no. 882 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 883 is non-static
+
+   1 #STMT 24 at line no. 883 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 884 is non-static
+
+   1 #STMT 25 at line no. 884 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 885 is non-static
+
+   1 #STMT 26 at line no. 885 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 886 is non-static
+
+   1 #STMT 27 at line no. 886 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 898 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 901 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 904 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 907 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 908 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 909 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 910 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 0 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 916 is non-static
+
+   1 #STMT 37 at line no. 916 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 917 is non-static
+
+   1 #STMT 38 at line no. 917 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 918 is non-static
+
+   1 #STMT 39 at line no. 918 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 921 is non-static
+
+   1 #STMT 40 at line no. 921 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 924 is non-static
+
+   1 #STMT 41 at line no. 924 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 927 is non-static
+
+   1 #STMT 42 at line no. 927 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 936 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 942 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 961 is non-static
+
+   1 #STMT 45 at line no. 961 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 962 is non-static
+
+   1 #STMT 46 at line no. 962 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 963 is non-static
+
+   1 #STMT 47 at line no. 963 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 964 is non-static
+
+   1 #STMT 48 at line no. 964 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 965 is non-static
+
+   1 #STMT 49 at line no. 965 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 966 is non-static
+
+   1 #STMT 50 at line no. 966 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 967 is non-static
+
+   1 #STMT 51 at line no. 967 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 968 is non-static
+
+   1 #STMT 52 at line no. 968 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 54 at line no. 980 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 983 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 56 at line no. 986 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 57 at line no. 990 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 991 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 59 at line no. 992 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 60 at line no. 993 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 61 at line no. 994 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 62 at line no. 995 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 63 at line no. 0 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1001 is non-static
+
+   1 #STMT 64 at line no. 1001 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1002 is non-static
+
+   1 #STMT 65 at line no. 1002 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1003 is non-static
+
+   1 #STMT 66 at line no. 1003 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1006 is non-static
+
+   1 #STMT 67 at line no. 1006 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1009 is non-static
+
+   1 #STMT 68 at line no. 1009 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1012 is non-static
+
+   1 #STMT 69 at line no. 1012 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1015 is non-static
+
+   1 #STMT 70 at line no. 1015 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1018 is non-static
+
+   1 #STMT 71 at line no. 1018 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 72 at line no. 1027 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 73 at line no. 1033 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1054 is non-static
+
+   1 #STMT 74 at line no. 1054 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1055 is non-static
+
+   1 #STMT 75 at line no. 1055 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1056 is non-static
+
+   1 #STMT 76 at line no. 1056 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1058 is non-static
+
+   1 #STMT 77 at line no. 1058 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1060 is non-static
+
+   1 #STMT 78 at line no. 1060 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1062 is non-static
+
+   1 #STMT 79 at line no. 1062 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1064 is non-static
+
+   1 #STMT 80 at line no. 1064 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1066 is non-static
+
+   1 #STMT 81 at line no. 1066 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1068 is non-static
+
+   1 #STMT 82 at line no. 1068 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1070 is non-static
+
+   1 #STMT 83 at line no. 1070 has 1 domain
+   # Domain 1
+   4 15
+   #    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 84 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 85 at line no. 1083 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 86 at line no. 1086 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 87 at line no. 1089 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 88 at line no. 1094 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 89 at line no. 1095 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 1096 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 91 at line no. 1097 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 92 at line no. 1098 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 93 at line no. 1099 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 94 at line no. 1100 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 95 at line no. 1101 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 96 at line no. 0 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1107 is non-static
+
+   1 #STMT 97 at line no. 1107 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1108 is non-static
+
+   1 #STMT 98 at line no. 1108 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1109 is non-static
+
+   1 #STMT 99 at line no. 1109 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1114 is non-static
+
+   1 #STMT 100 at line no. 1114 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1119 is non-static
+
+   1 #STMT 101 at line no. 1119 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1124 is non-static
+
+   1 #STMT 102 at line no. 1124 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1129 is non-static
+
+   1 #STMT 103 at line no. 1129 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1134 is non-static
+
+   1 #STMT 104 at line no. 1134 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1139 is non-static
+
+   1 #STMT 105 at line no. 1139 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1144 is non-static
+
+   1 #STMT 106 at line no. 1144 has 1 domain
+   # Domain 1
+   6 16
+   # doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    1    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0   -1    0    0    0    0    0    0    0    0    1    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1    0    0   -1    0    0    0    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 107 at line no. 1155 has 1 domain
+   # Domain 1
+   2 14
+   # doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 108 at line no. 1161 has 1 domain
+   # Domain 1
+   1 13
+   # IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   L  IJK doloop_var   #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+ 108 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.791
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.801
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.818
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.819
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.820
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.821
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.833
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.836
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.839
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.841
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.842
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.848
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.849
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.850
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.851
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.858
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.864
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.881
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.882
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.883
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.884
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.885
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.886
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.898
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.901
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.904
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.907
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.908
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.909
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.910
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.916
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.917
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.918
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.921
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.924
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.927
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.936
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.942
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.961
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.962
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.963
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.964
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.965
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.966
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.967
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.968
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.980
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.983
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.986
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.990
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.991
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.992
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.993
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.994
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.995
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1001
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.1002
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.1003
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.1006
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.1009
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.1012
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.1015
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.1018
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.1027
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1033
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1054
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1055
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1056
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1058
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1060
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1062
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1064
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1066
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1068
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1070
+   7 22
+   #   p0   p1   p2   p3   p4   p5   p6    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1083
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1086
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1089
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1094
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1095
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1096
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1097
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1098
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1099
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1100
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1101
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1107
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.1108
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.1109
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.1114
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.1119
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.1124
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.1129
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.1134
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.1139
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.1144
+   7 23
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var    L  IJK IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.1155
+   7 21
+   #   p0   p1   p2   p3   p4   p5   p6 doloop_var IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1161
+   7 20
+   #   p0   p1   p2   p3   p4   p5   p6 IFAC INC2 INC4 INC1 INC3    M  LOT   LA doloop_count JBASE    I    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6     #Scattering dimension names
diff --git a/test/bigs/qcd.N.w2p47 b/test/bigs/qcd.N.w2p47
new file mode 100644 (file)
index 0000000..ab0e3ed
--- /dev/null
@@ -0,0 +1,1328 @@
+
+
+#----------------------SCoP NO. 47
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   6 8         # 1 lines and 8 coloumns
+   #   R1  CTR    I    T   R2   R3    1
+   1    1    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0 
+   1    0    0    1    0    0    0    0 
+   1    0    0    0    1    0    0    0 
+   1    0    0    0    0    1    0    0 
+   1    0    0    0    0    0    1    0 
+
+   1 # We want to set manually the parameter names
+  R1  CTR    I    T   R2   R3  # parameter names
+
+#---------------------STATEMENTS--------------------
+  77 #Number of Statements
+
+   1 #STMT 1 at line no. 1720 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 1729 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 1734 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 1735 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 1741 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 1747 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 1748 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 1753 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 1760 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 1770 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 1775 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 1776 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 1782 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 1790 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 1799 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 1807 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 1812 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 1813 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 1821 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 1830 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 1835 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 1836 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 1842 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 1848 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 1849 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 1854 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 1861 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 1871 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 1876 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 1877 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 42 at line no. 1883 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 1891 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 1900 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0 
+   0    0    0 
+
+   1 #STMT 47 at line no. 0 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 48 at line no. 1908 has 1 domain
+   # Domain 1
+   2 9
+   #    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 49 at line no. 1913 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 50 at line no. 1914 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 1922 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 52 at line no. 1925 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 54 at line no. 1929 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 1931 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 56 at line no. 1932 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 57 at line no. 1936 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 59 at line no. 1939 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 60 at line no. 1940 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 61 at line no. 1943 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 62 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 63 at line no. 1946 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 64 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 65 at line no. 1951 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 66 at line no. 1953 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 67 at line no. 1954 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 68 at line no. 1958 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 69 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 70 at line no. 1961 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 71 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 72 at line no. 1965 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 73 at line no. 0 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 74 at line no. 1968 has 1 domain
+   # Domain 1
+   4 10
+   # NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    2 
+   1    0    1    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    1    0    0    0 
+   0    0    0 
+
+   1 #STMT 75 at line no. 1970 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 76 at line no. 1972 has 1 domain
+   # Domain 1
+   2 9
+   # NTRANS   R1  CTR    I    T   R2   R3    1 
+   1    1    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 77 at line no. 1979 has 1 domain
+   # Domain 1
+   1 8
+   #   R1  CTR    I    T   R2   R3    1 
+   0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   I NTRANS    #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  77 #Scattering functions
+
+# Scattering Matrix for stmt at line no.1720
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1729
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1734
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1735
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1741
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1747
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1748
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1753
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1760
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1770
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1775
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1776
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1782
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1790
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1799
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1807
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1812
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1813
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1821
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1830
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1835
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1836
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1842
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1848
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1849
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1854
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1861
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1871
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1876
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1877
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1883
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1891
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1900
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1908
+   5 14
+   #   p0   p1   p2   p3   p4    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1913
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1914
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1922
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1925
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1929
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1931
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1932
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1936
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1939
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1940
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1943
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1946
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1951
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1953
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1954
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1958
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1961
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1965
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1968
+   5 15
+   #   p0   p1   p2   p3   p4 NTRANS    I   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1970
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1972
+   5 14
+   #   p0   p1   p2   p3   p4 NTRANS   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1979
+   5 13
+   #   p0   p1   p2   p3   p4   R1  CTR    I    T   R2   R3    1 
+   0    1    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4       #Scattering dimension names
diff --git a/test/bigs/qcd.N.w2p49 b/test/bigs/qcd.N.w2p49
new file mode 100644 (file)
index 0000000..2553e63
--- /dev/null
@@ -0,0 +1,855 @@
+
+
+#----------------------SCoP NO. 49
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 10                # 1 lines and 10 coloumns
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1
+   0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+ CNT NUM1 NUM2   R1   R2    R    I    T        # parameter names
+
+#---------------------STATEMENTS--------------------
+  58 #Number of Statements
+
+   1 #STMT 1 at line no. 2063 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 2064 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 2065 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 2069 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 2071 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 2073 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1   -1    1    1    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 7 at line no. 2075 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1   -1    1    1    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 8 at line no. 2077 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 2078 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 2079 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 2084 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 2086 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 2093 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 14 at line no. 2095 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 15 at line no. 2097 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 16 at line no. 2109 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 2117 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 2121 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 2122 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 2131 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 2139 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 2144 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 2145 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 2150 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 2157 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 2166 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 2174 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 2178 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 2179 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 2187 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 2195 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    1    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 2202 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 0 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 42 at line no. 2207 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 2208 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 2212 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 2214 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 2216 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1   -1    1    1    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 47 at line no. 2218 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1   -1    1    1    0    0    0   -3 
+   0    0    0 
+
+   1 #STMT 48 at line no. 2220 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 49 at line no. 2221 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 50 at line no. 2222 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 2227 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 2229 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    0   -1    0    1    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 2235 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 54 at line no. 2237 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 55 at line no. 2239 has 1 domain
+   # Domain 1
+   2 11
+   #    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    1    1    0    0    0    0    0    0 
+   1   -1    0    0    0    1    1    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 56 at line no. 2247 has 1 domain
+   # Domain 1
+   2 11
+   #    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   1    1    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 57 at line no. 2252 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 2256 has 1 domain
+   # Domain 1
+   1 10
+   #  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   R    I      #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  58 #Scattering functions
+
+# Scattering Matrix for stmt at line no.2063
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2064
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2065
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2069
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2071
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2073
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2075
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2077
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2078
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2079
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2084
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2086
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2093
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2095
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2097
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2109
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2117
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2121
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2122
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2131
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2139
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2144
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2145
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2150
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2157
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2166
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2174
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2178
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2179
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2187
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2195
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2202
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2207
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2208
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2212
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2214
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2216
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2218
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2220
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2221
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2222
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2227
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2229
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2235
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2237
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2239
+   3 14
+   #   p0   p1   p2    R  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2247
+   3 14
+   #   p0   p1   p2    I  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2252
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2256
+   3 13
+   #   p0   p1   p2  CNT NUM1 NUM2   R1   R2    R    I    T    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2         #Scattering dimension names
diff --git a/test/bigs/qcd.N.w2p8 b/test/bigs/qcd.N.w2p8
new file mode 100644 (file)
index 0000000..7ba0b95
--- /dev/null
@@ -0,0 +1,1963 @@
+
+
+#----------------------SCoP NO. 8
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 2         # 1 lines and 2 coloumns
+   #    1
+   0    0 
+
+   1 # We want to set manually the parameter names
+       # parameter names
+
+#---------------------STATEMENTS--------------------
+ 114 #Number of Statements
+
+   1 #STMT 1 at line no. 375 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1   18 
+   0    0    0 
+
+   1 #STMT 2 at line no. 376 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1   18 
+   0    0    0 
+
+   1 #STMT 3 at line no. 385 has 1 domain
+   # Domain 1
+   4 4
+   #    J    I    1 
+   1    1    0    1 
+   1   -1    0    6 
+   1    0    1    1 
+   1    0   -1   18 
+   0    0    0 
+
+   1 #STMT 4 at line no. 393 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 5 at line no. 395 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 6 at line no. 396 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 7 at line no. 397 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 8 at line no. 398 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 9 at line no. 400 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 10 at line no. 401 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 11 at line no. 402 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 12 at line no. 403 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 13 at line no. 405 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 14 at line no. 406 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 15 at line no. 407 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 16 at line no. 408 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 17 at line no. 410 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 18 at line no. 412 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 19 at line no. 413 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 20 at line no. 414 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 21 at line no. 415 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 22 at line no. 416 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 23 at line no. 417 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 24 at line no. 418 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 25 at line no. 420 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 26 at line no. 420 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 27 at line no. 420 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 28 at line no. 421 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 29 at line no. 421 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 30 at line no. 423 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 31 at line no. 425 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 32 at line no. 425 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 33 at line no. 425 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 34 at line no. 426 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 35 at line no. 426 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 36 at line no. 426 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 37 at line no. 427 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 38 at line no. 427 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 39 at line no. 427 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 40 at line no. 428 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 41 at line no. 431 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 42 at line no. 432 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 43 at line no. 433 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 44 at line no. 434 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 45 at line no. 435 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 46 at line no. 436 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 47 at line no. 437 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 48 at line no. 438 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 49 at line no. 440 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 50 at line no. 441 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 51 at line no. 442 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 52 at line no. 443 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 53 at line no. 444 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 54 at line no. 445 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 55 at line no. 446 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 56 at line no. 447 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 57 at line no. 448 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 58 at line no. 449 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 59 at line no. 450 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 60 at line no. 451 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 61 at line no. 452 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 62 at line no. 453 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 63 at line no. 454 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 64 at line no. 455 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 65 at line no. 456 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 66 at line no. 457 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 67 at line no. 458 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 68 at line no. 459 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 69 at line no. 460 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 70 at line no. 461 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 71 at line no. 462 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 72 at line no. 463 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 73 at line no. 465 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 74 at line no. 466 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 75 at line no. 467 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 76 at line no. 468 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 77 at line no. 469 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 78 at line no. 470 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 79 at line no. 471 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 80 at line no. 472 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 81 at line no. 473 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 82 at line no. 474 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 83 at line no. 475 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 84 at line no. 476 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 85 at line no. 477 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 86 at line no. 478 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 87 at line no. 479 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 88 at line no. 480 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 89 at line no. 481 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 90 at line no. 482 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 91 at line no. 483 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 92 at line no. 484 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 93 at line no. 485 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 94 at line no. 486 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 95 at line no. 487 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 96 at line no. 488 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 97 at line no. 490 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 98 at line no. 491 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 99 at line no. 492 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 100 at line no. 493 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 101 at line no. 494 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 102 at line no. 495 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 103 at line no. 496 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 104 at line no. 497 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 105 at line no. 498 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 106 at line no. 499 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 107 at line no. 500 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 108 at line no. 501 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 109 at line no. 502 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 110 at line no. 503 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 111 at line no. 504 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 112 at line no. 505 has 1 domain
+   # Domain 1
+   2 3
+   #    I    1 
+   1    1    1 
+   1   -1    3 
+   0    0    0 
+
+   1 #STMT 113 at line no. 511 has 1 domain
+   # Domain 1
+   1 2
+   #    1 
+   0    0 
+   0    0    0 
+
+   1 #STMT 114 at line no. 515 has 1 domain
+   # Domain 1
+   1 2
+   #    1 
+   0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   I    J      #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+ 114 #Scattering functions
+
+# Scattering Matrix for stmt at line no.375
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.376
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -1 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.385
+   5 9
+   #   p0   p1   p2   p3   p4    J    I    1 
+   0    1    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0   -1    0    0 
+   0    0    0    1    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0 
+   0    0    0    0    0    1    0    0    0 
+
+# Scattering Matrix for stmt at line no.393
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.395
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -1 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.396
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -2 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.397
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -3 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.398
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -4 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.400
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.401
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.402
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.403
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.405
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.406
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.407
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.408
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.410
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -5 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.412
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -6 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.413
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -7 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.414
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -8 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.415
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0   -9 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.416
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -10 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.417
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -11 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.418
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -12 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.420
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.420
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.420
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.421
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.421
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.423
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -13 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.425
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.425
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.425
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.426
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.426
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.426
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.427
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.427
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.427
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.428
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.431
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -14 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.432
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -15 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.433
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -16 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.434
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -17 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.435
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -18 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.436
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -19 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.437
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -20 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.438
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -21 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.440
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -22 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.441
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -23 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.442
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -24 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.443
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -25 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.444
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -26 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.445
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -27 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.446
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -28 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.447
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -29 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.448
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -30 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.449
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -31 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.450
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -32 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.451
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -33 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.452
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -34 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.453
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -35 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.454
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -36 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.455
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -37 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.456
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -38 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.457
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -39 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.458
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -40 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.459
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -41 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.460
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -42 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.461
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -43 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.462
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -44 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.463
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0 
+   0    0    0    1    0    0    0  -45 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.465
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.466
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.467
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.468
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.469
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.470
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.471
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.472
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.473
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.474
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.475
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.476
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.477
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.478
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.479
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.480
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.481
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.482
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.483
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.484
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.485
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.486
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.487
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.488
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.490
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.491
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.492
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.493
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.494
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.495
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.496
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.497
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.498
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.499
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.500
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.501
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.502
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.503
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.504
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.505
+   5 8
+   #   p0   p1   p2   p3   p4    I    1 
+   0    1    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0 
+   0    0    0    1    0    0    0    0 
+   0    0    0    0    1    0    0    0 
+   0    0    0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.511
+   5 7
+   #   p0   p1   p2   p3   p4    1 
+   0    1    0    0    0    0   -3 
+   0    0    1    0    0    0    0 
+   0    0    0    1    0    0    0 
+   0    0    0    0    1    0    0 
+   0    0    0    0    0    1    0 
+
+# Scattering Matrix for stmt at line no.515
+   5 7
+   #   p0   p1   p2   p3   p4    1 
+   0    1    0    0    0    0   -4 
+   0    0    1    0    0    0    0 
+   0    0    0    1    0    0    0 
+   0    0    0    0    1    0    0 
+   0    0    0    0    0    1    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4       #Scattering dimension names
diff --git a/test/bigs/quake.N.w2p26 b/test/bigs/quake.N.w2p26
new file mode 100644 (file)
index 0000000..ec4dfd9
--- /dev/null
@@ -0,0 +1,124 @@
+
+
+#----------------------SCoP NO. 26
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 3         # 1 lines and 3 coloumns
+   #    n    1
+   0    0    0 
+
+   1 # We want to set manually the parameter names
+   n   # parameter names
+
+#---------------------STATEMENTS--------------------
+   7 #Number of Statements
+
+   1 #STMT 1 at line no. 1012 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 1015 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 1016 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 1020 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 1021 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 1024 has 1 domain
+   # Domain 1
+   2 4
+   #    i    n    1 
+   1    1    0    0 
+   1   -1    1    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 3
+   #    n    1 
+   0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   i   #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+   7 #Scattering functions
+
+# Scattering Matrix for stmt at line no.1012
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0    0 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1015
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0   -1 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1016
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0   -2 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1020
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0   -3 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1021
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0   -4 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+# Scattering Matrix for stmt at line no.1024
+   3 7
+   #   p0   p1   p2    i    n    1 
+   0    1    0    0    0    0   -5 
+   0    0    1    0   -1    0    0 
+   0    0    0    1    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   3 6
+   #   p0   p1   p2    n    1 
+   0    1    0    0    0   -6 
+   0    0    1    0    0    0 
+   0    0    0    1    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2         #Scattering dimension names
diff --git a/test/byu98-1-2-3.c.polylib b/test/byu98-1-2-3.c.polylib
new file mode 100644 (file)
index 0000000..a5f5bca
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated from ./test/byu98-1-2-3.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+for (i=2;i<=3;i++) {
+  for (j=-i+6;j<=6;j++) {
+    S1 ;
+  }
+}
+for (j=3;j<=4;j++) {
+  S1(i = 4) ;
+}
+S1(i = 4,j = 5) ;
+S2(i = 4,j = 5) ;
+S1(i = 4,j = 6) ;
+S1(i = 5,j = 4) ;
+S2(i = 5,j = 4) ;
+for (j=5;j<=6;j++) {
+  S1(i = 5) ;
+}
+for (i=6;i<=7;i++) {
+  j = -i+9 ;
+  S2 ;
+  for (j=i-1;j<=6;j++) {
+    S1 ;
+  }
+}
+S2(i = 8,j = 1) ;
diff --git a/test/byu98-1-2-3.c.ppl b/test/byu98-1-2-3.c.ppl
new file mode 100644 (file)
index 0000000..532edc3
--- /dev/null
@@ -0,0 +1,25 @@
+/* Generated from ./byu98-1-2-3.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=2;i<=3;i++) {
+  for (j=-i+6;j<=6;j++) {
+    S1 ;
+  }
+}
+for (j=3;j<=4;j++) {
+  S1(i = 4) ;
+}
+S1(i = 4,j = 5) ;
+S2(i = 4,j = 5) ;
+S1(i = 4,j = 6) ;
+S1(i = 5,j = 4) ;
+S2(i = 5,j = 4) ;
+for (j=5;j<=6;j++) {
+  S1(i = 5) ;
+}
+for (i=6;i<=7;i++) {
+  j = -i+9 ;
+  S2 ;
+  for (j=i-1;j<=6;j++) {
+    S1 ;
+  }
+}
+S2(i = 8,j = 1) ;
diff --git a/test/byu98-1-2-3.cloog b/test/byu98-1-2-3.cloog
new file mode 100644 (file)
index 0000000..782a897
--- /dev/null
@@ -0,0 +1,66 @@
+# Here is the result given by an old CLooG (the same was given up to 0.12.2),
+# the difference with the new constant spreading technique of 0.14.0 is
+# one of the most beautiful.
+#
+# /* Generated by CLooG v0.10.7 */
+# for (i=2;i<=3;i++) {
+#   for (j=-i+6;j<=6;j++) {
+#     S1 ;
+#   }
+# }
+# for (j=4-1;j<=-(4)+8;j++) {
+#   S1(i = 4) ;
+# }
+# j = -(4)+9 ;
+# S1(i = 4) ;
+# S2(i = 4) ;
+# for (j=-(4)+10;j<=6;j++) {
+#   S1(i = 4) ;
+# }
+# S1(i = 5,j = 4) ;
+# S2(i = 5,j = 4) ;
+# for (j=5;j<=6;j++) {
+#   S1(i = 5) ;
+# }
+# for (i=6;i<=7;i++) {
+#   j = -i+9 ;
+#   S2 ;
+#   for (j=i-1;j<=6;j++) {
+#     S1 ;
+#   }
+# }
+# S2(i = 8,j = 1) ;
+
+# language: C
+c
+
+# Context
+1
+#{ | 1>=0}
+1   2
+1   1
+0
+
+2 # Number of statements
+
+1
+# {i,j | (-j+6,2)<=i<=j+1; 3<=j<=6}
+5 4
+#  i  j  1
+1  1  1 -6
+1  1  0 -2
+1  0  1 -3
+1  0 -1  6
+1 -1  1  1
+0  0  0
+
+1
+# {i,j | i=-j+9; 1<=j<=5}
+3 4
+0  1  1 -9
+1  0  1 -1
+1  0 -1  5
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/ceilfloor.cloog b/test/ceilfloor.cloog
new file mode 100644 (file)
index 0000000..6650c03
--- /dev/null
@@ -0,0 +1,21 @@
+# language: C
+c
+
+# Context
+1 3
+# M 1
+1 0 1
+0
+
+1 # Number of statements
+
+1
+# {j,N | 2j-1<=N<=2j}
+2 4
+#  j  M  1
+1  2 -1  0
+1 -2  1  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/challenges/apsi.N.w2p56 b/test/challenges/apsi.N.w2p56
new file mode 100644 (file)
index 0000000..90cdadb
--- /dev/null
@@ -0,0 +1,1137 @@
+
+
+#----------------------SCoP NO. 56
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 16                # 1 lines and 16 coloumns
+   # NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2         # parameter names
+
+#---------------------STATEMENTS--------------------
+  47 #Number of Statements
+   #enclosing loop of statement at line no. 4059 is non static
+
+   1 #STMT 1 at line no. 4059 has 1 domain
+   # Domain 1
+   1 16
+   # NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 4061 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 4062 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 4063 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 4064 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 4065 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 4066 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 4067 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 4068 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 4069 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 4073 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 4075 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 4076 has 1 domain
+   # Domain 1
+   2 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 4083 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 4084 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 4085 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 4086 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 4087 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 4088 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 4089 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0   -1    0    1    0    0    0    0    0    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 4090 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0   -1    0    0    0    1    0    0    0    0    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 4091 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0   -1    0    0    0    0    0    1    0    0    0    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 4092 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    1    0    1    0    0   -1    0    0    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 4093 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    1    0    0    0    1    0    0   -1    0    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 4094 has 1 domain
+   # Domain 1
+   4 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    1    0    0   -1    0    0   -1 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 4096 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 4097 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 4100 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 4101 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 4103 has 1 domain
+   # Domain 1
+   3 17
+   #    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 4108 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 4109 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 4112 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 4113 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 4116 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 4117 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 4119 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 4120 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 4121 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 4122 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 4123 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 42 at line no. 4125 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 4127 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 4128 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 4139 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 4143 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 #STMT 47 at line no. 4144 has 1 domain
+   # Domain 1
+   8 20
+   #    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    1    0    0 
+   1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    1    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   L    K    J    I    #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  47 #Scattering functions
+
+# Scattering Matrix for stmt at line no.4059
+   9 25
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8 NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4061
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4062
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4063
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4064
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4065
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4066
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4067
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4068
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4069
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4073
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4075
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4076
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4083
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4084
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4085
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4086
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4087
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4088
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4089
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4090
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4091
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4092
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4093
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4094
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4096
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4097
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4100
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4101
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4103
+   9 26
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4108
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4109
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.4112
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.4113
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.4116
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.4117
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.4119
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.4120
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.4121
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.4122
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.4123
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.4125
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.4127
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4128
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4139
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4143
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.4144
+   9 29
+   #   p0   p1   p2   p3   p4   p5   p6   p7   p8    L    K    J    I NSOU t$271   LZ   LY   LX   IN  LSX  LSY  LSZ   NX   NY   NZ   I1   I2    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4   p5   p6   p7   p8   #Scattering dimension names
diff --git a/test/challenges/challenge1.cloog b/test/challenges/challenge1.cloog
new file mode 100644 (file)
index 0000000..bf092ee
--- /dev/null
@@ -0,0 +1,217 @@
+#----------------------Function is main\r
+\r
+#-------------------CONTEXT------------------------\r
+   c # language is c\r
+   1 # Context (no constarints on parameters)\r
+   1 3         # 1 lines and 3 coloumns\r
+   #   m   1\r
+   0   0   0\r
+\r
+   1 # We want to set manually the parameter names\r
+   m   # parameter names\r
+\r
+#---------------------STATEMENTS--------------------\r
+   5 #Number of Statements\r
+\r
+   3 #STMT 1 at line no. 18 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0  -1   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -2  -8\r
+   0   0   0\r
+\r
+   3 #STMT 2 at line no. 19 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0  -1   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -2  -8\r
+   0   0   0\r
+\r
+   3 #STMT 3 at line no. 20 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0  -1   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   2  -2  -8\r
+   0   0   0\r
+\r
+   2 #STMT 4 at line no. 23 has 2 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0   1   0  -4\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1   1   0   0   0   0\r
+   1  -1   0   0  11   0\r
+   1   0   1   0   0   0\r
+   1   0  -1   0   0   7\r
+   1   0   0   1   0   0\r
+   1   1   1  -2   3   0\r
+   1   0   0  -2   6  -1\r
+   0   0   0\r
+\r
+   1 #STMT 5 at line no. 25 has 1 domain\r
+   # Domain 1\r
+   4 5\r
+   #   i   j   m   1\r
+   1   1   0   0   0\r
+   1  -1   0  11   0\r
+   1   0   1   0   0\r
+   1   0  -1   0   7\r
+   0   0   0\r
+\r
+   1 # Set Iterator Names\r
+   i   j   k   #Iterator Names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   7 13\r
+   #  p0  p1  p2  p3  p4  p5  p6   i   j   k   m   1\r
+   0   1   0   0   0   0   0   0   0   0   0   0  -3\r
+   0   0   1   0   0   0   0   0  -1   0   0   0   0\r
+   0   0   0   1   0   0   0   0   0   0   0   0   0\r
+   0   0   0   0   1   0   0   0   0  -1   0   0   0\r
+   0   0   0   0   0   1   0   0   0   0   0   0   0\r
+   0   0   0   0   0   0   1   0   0   0  -1   0   0\r
+   0   0   0   0   0   0   0   1   0   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   7 13\r
+   #  p0  p1  p2  p3  p4  p5  p6   i   j   k   m   1\r
+   0   1   0   0   0   0   0   0   0   0   0   0  -3\r
+   0   0   1   0   0   0   0   0  -1   0   0   0   0\r
+   0   0   0   1   0   0   0   0   0   0   0   0   0\r
+   0   0   0   0   1   0   0   0   0  -1   0   0   0\r
+   0   0   0   0   0   1   0   0   0   0   0   0   0\r
+   0   0   0   0   0   0   1   0   0   0  -1   0   0\r
+   0   0   0   0   0   0   0   1   0   0   0   0  -1\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   7 13\r
+   #  p0  p1  p2  p3  p4  p5  p6   i   j   k   m   1\r
+   0   1   0   0   0   0   0   0   0   0   0   0  -3\r
+   0   0   1   0   0   0   0   0  -1   0   0   0   0\r
+   0   0   0   1   0   0   0   0   0   0   0   0   0\r
+   0   0   0   0   1   0   0   0   0  -1   0   0   0\r
+   0   0   0   0   0   1   0   0   0   0   0   0   0\r
+   0   0   0   0   0   0   1   0   0   0  -1   0   0\r
+   0   0   0   0   0   0   0   1   0   0   0   0  -2\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   7 13\r
+   #  p0  p1  p2  p3  p4  p5  p6   i   j   k   m   1\r
+   0   1   0   0   0   0   0   0   0   0   0   0  -3\r
+   0   0   1   0   0   0   0   0  -1   0   0   0   0\r
+   0   0   0   1   0   0   0   0   0   0   0   0   0\r
+   0   0   0   0   1   0   0   0   0  -1   0   0   0\r
+   0   0   0   0   0   1   0   0   0   0   0   0   0\r
+   0   0   0   0   0   0   1   0   0   0  -1   0   0\r
+   0   0   0   0   0   0   0   1   0   0   0   0  -3\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   7 12\r
+   #  p0  p1  p2  p3  p4  p5  p6   i   j   m   1\r
+   0   1   0   0   0   0   0   0   0   0   0  -3\r
+   0   0   1   0   0   0   0   0  -1   0   0   0\r
+   0   0   0   1   0   0   0   0   0   0   0   0\r
+   0   0   0   0   1   0   0   0   0  -1   0   0\r
+   0   0   0   0   0   1   0   0   0   0   0  -1\r
+   0   0   0   0   0   0   1   0   0   0   0   0\r
+   0   0   0   0   0   0   0   1   0   0   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2  p3  p4  p5  p6   #Scattering dimension names\r
diff --git a/test/challenges/lucas.N.w2p11 b/test/challenges/lucas.N.w2p11
new file mode 100644 (file)
index 0000000..eb87563
--- /dev/null
@@ -0,0 +1,33176 @@
+
+
+#----------------------SCoP NO. 11
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 13                # 1 lines and 13 coloumns
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # We want to set manually the parameter names
+  N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4        # parameter names
+
+#---------------------STATEMENTS--------------------
+1785 #Number of Statements
+
+   1 #STMT 1 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 2 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 3 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 4 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 5 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 6 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 8 at line no. 681 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 9 at line no. 682 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 10 at line no. 683 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 11 at line no. 684 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 12 at line no. 686 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 13 at line no. 686 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 14 at line no. 686 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 15 at line no. 687 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 16 at line no. 688 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 17 at line no. 688 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 18 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 19 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 20 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 21 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 22 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 23 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 24 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 25 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 26 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 27 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 28 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 29 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 30 at line no. 698 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 31 at line no. 699 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 32 at line no. 700 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 33 at line no. 702 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 34 at line no. 703 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 35 at line no. 704 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 36 at line no. 708 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 37 at line no. 709 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 38 at line no. 712 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 39 at line no. 713 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 40 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 41 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 42 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 43 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 44 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 45 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 46 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 47 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 48 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 49 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 50 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 51 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 52 at line no. 717 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 53 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 54 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 55 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 56 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 57 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 58 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 59 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 60 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 61 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 62 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 63 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 64 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 65 at line no. 719 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 66 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 67 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 68 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 69 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 70 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 71 at line no. 724 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 72 at line no. 725 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 73 at line no. 728 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 74 at line no. 729 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 75 at line no. 730 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 76 at line no. 731 has 1 domain
+   # Domain 1
+   2 14
+   # @f90li_0_13   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 77 at line no. 732 has 1 domain
+   # Domain 1
+   2 14
+   # @f90li_0_14   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    2 
+   0    0    0 
+
+   1 #STMT 78 at line no. 733 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 79 at line no. 735 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 80 at line no. 736 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 81 at line no. 737 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 82 at line no. 738 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 83 at line no. 739 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 84 at line no. 740 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 85 at line no. 741 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 86 at line no. 742 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 87 at line no. 743 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 88 at line no. 0 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 89 at line no. 746 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 90 at line no. 752 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 91 at line no. 753 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 92 at line no. 754 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 93 at line no. 755 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 94 at line no. 757 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 95 at line no. 758 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 96 at line no. 759 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 97 at line no. 764 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 98 at line no. 765 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 99 at line no. 766 has 1 domain
+   # Domain 1
+   2 14
+   # @f90li_0_15   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    1 
+   0    0    0 
+
+   1 #STMT 100 at line no. 767 has 1 domain
+   # Domain 1
+   2 14
+   # @f90li_0_16   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    1 
+   0    0    0 
+
+   1 #STMT 101 at line no. 768 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 102 at line no. 770 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 103 at line no. 771 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 104 at line no. 772 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 105 at line no. 773 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 106 at line no. 774 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 107 at line no. 775 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    1    0    0    0    0    0    0    0   -1 
+   0    0    0 
+
+   1 #STMT 108 at line no. 796 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 109 at line no. 797 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 110 at line no. 798 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 111 at line no. 799 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 112 at line no. 800 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 113 at line no. 801 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 114 at line no. 802 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 115 at line no. 803 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 116 at line no. 804 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 117 at line no. 805 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 118 at line no. 806 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 119 at line no. 807 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 120 at line no. 808 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 121 at line no. 809 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 122 at line no. 810 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 123 at line no. 811 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 124 at line no. 813 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 125 at line no. 814 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 126 at line no. 815 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 127 at line no. 816 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 128 at line no. 817 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 129 at line no. 818 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 130 at line no. 819 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 131 at line no. 820 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 132 at line no. 821 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 133 at line no. 822 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 134 at line no. 823 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 135 at line no. 824 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 136 at line no. 825 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 137 at line no. 826 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 138 at line no. 827 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 139 at line no. 828 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 140 at line no. 829 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 141 at line no. 830 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 142 at line no. 831 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 143 at line no. 832 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 144 at line no. 833 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 145 at line no. 834 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 146 at line no. 835 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 147 at line no. 836 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 148 at line no. 838 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 149 at line no. 839 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 150 at line no. 840 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 151 at line no. 842 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 152 at line no. 843 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 153 at line no. 844 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 154 at line no. 845 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 155 at line no. 846 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 156 at line no. 847 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 157 at line no. 848 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 158 at line no. 849 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 159 at line no. 851 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 160 at line no. 852 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 161 at line no. 853 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 162 at line no. 855 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 163 at line no. 856 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 164 at line no. 857 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 165 at line no. 858 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 166 at line no. 859 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 167 at line no. 860 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 168 at line no. 861 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 169 at line no. 862 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 170 at line no. 864 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 171 at line no. 865 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 172 at line no. 866 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 173 at line no. 867 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 174 at line no. 869 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 175 at line no. 870 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 176 at line no. 871 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 177 at line no. 872 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 178 at line no. 873 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 179 at line no. 874 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 180 at line no. 876 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 181 at line no. 877 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 182 at line no. 878 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 183 at line no. 879 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 184 at line no. 881 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 185 at line no. 882 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 186 at line no. 883 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 187 at line no. 884 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 188 at line no. 885 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 189 at line no. 886 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 190 at line no. 894 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 191 at line no. 895 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 192 at line no. 896 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 193 at line no. 897 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 194 at line no. 898 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 195 at line no. 899 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 196 at line no. 900 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 197 at line no. 901 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 198 at line no. 909 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 199 at line no. 910 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 200 at line no. 911 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 201 at line no. 912 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 202 at line no. 913 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 203 at line no. 914 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 204 at line no. 915 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 205 at line no. 916 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 206 at line no. 917 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 207 at line no. 918 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 208 at line no. 919 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 209 at line no. 920 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 210 at line no. 921 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 211 at line no. 922 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 212 at line no. 923 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 213 at line no. 924 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 214 at line no. 926 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 215 at line no. 927 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 216 at line no. 928 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 217 at line no. 929 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 218 at line no. 930 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 219 at line no. 931 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 220 at line no. 932 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 221 at line no. 933 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 222 at line no. 934 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 223 at line no. 935 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 224 at line no. 936 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 225 at line no. 937 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 226 at line no. 938 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 227 at line no. 939 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 228 at line no. 940 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 229 at line no. 941 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 230 at line no. 942 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 231 at line no. 943 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 232 at line no. 944 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 233 at line no. 945 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 234 at line no. 946 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 235 at line no. 947 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 236 at line no. 948 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 237 at line no. 949 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 238 at line no. 950 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 239 at line no. 951 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 240 at line no. 952 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 241 at line no. 953 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 242 at line no. 955 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 243 at line no. 956 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 244 at line no. 957 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 245 at line no. 958 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 246 at line no. 959 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 247 at line no. 960 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 248 at line no. 961 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 249 at line no. 962 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 250 at line no. 963 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 251 at line no. 964 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 252 at line no. 965 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 253 at line no. 966 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 254 at line no. 967 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 255 at line no. 968 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 256 at line no. 969 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 257 at line no. 970 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 258 at line no. 971 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 259 at line no. 972 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 260 at line no. 973 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 261 at line no. 974 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 262 at line no. 975 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 263 at line no. 976 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 264 at line no. 977 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 265 at line no. 978 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 266 at line no. 980 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 267 at line no. 981 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 982 is non-static
+
+   1 #STMT 268 at line no. 982 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 983 is non-static
+
+   1 #STMT 269 at line no. 983 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 984 is non-static
+
+   1 #STMT 270 at line no. 984 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 985 is non-static
+
+   1 #STMT 271 at line no. 985 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 272 at line no. 987 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 273 at line no. 988 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 274 at line no. 989 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 275 at line no. 990 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 991 is non-static
+
+   1 #STMT 276 at line no. 991 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 992 is non-static
+
+   1 #STMT 277 at line no. 992 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 993 is non-static
+
+   1 #STMT 278 at line no. 993 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 994 is non-static
+
+   1 #STMT 279 at line no. 994 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 280 at line no. 996 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 281 at line no. 997 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 998 is non-static
+
+   1 #STMT 282 at line no. 998 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 999 is non-static
+
+   1 #STMT 283 at line no. 999 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1000 is non-static
+
+   1 #STMT 284 at line no. 1000 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1001 is non-static
+
+   1 #STMT 285 at line no. 1001 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 286 at line no. 1003 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 287 at line no. 1004 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 288 at line no. 1005 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 289 at line no. 1006 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1007 is non-static
+
+   1 #STMT 290 at line no. 1007 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1008 is non-static
+
+   1 #STMT 291 at line no. 1008 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1009 is non-static
+
+   1 #STMT 292 at line no. 1009 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1010 is non-static
+
+   1 #STMT 293 at line no. 1010 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 294 at line no. 1015 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_17 @f90li_1_17   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 295 at line no. 1021 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 296 at line no. 1022 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 297 at line no. 1023 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 298 at line no. 1024 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 299 at line no. 1025 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 300 at line no. 1026 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 301 at line no. 1027 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 302 at line no. 1028 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 303 at line no. 1036 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 304 at line no. 1037 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 305 at line no. 1038 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 306 at line no. 1039 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 307 at line no. 1040 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 308 at line no. 1041 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 309 at line no. 1042 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 310 at line no. 1043 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 311 at line no. 1044 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 312 at line no. 1045 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 313 at line no. 1046 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 314 at line no. 1047 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 315 at line no. 1048 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 316 at line no. 1049 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 317 at line no. 1050 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 318 at line no. 1051 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 319 at line no. 1053 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 320 at line no. 1054 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 321 at line no. 1055 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 322 at line no. 1056 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 323 at line no. 1057 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 324 at line no. 1058 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 325 at line no. 1059 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 326 at line no. 1060 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 327 at line no. 1061 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 328 at line no. 1062 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 329 at line no. 1063 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 330 at line no. 1064 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 331 at line no. 1065 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 332 at line no. 1066 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 333 at line no. 1067 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 334 at line no. 1068 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 335 at line no. 1069 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 336 at line no. 1070 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 337 at line no. 1071 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 338 at line no. 1072 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 339 at line no. 1073 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 340 at line no. 1074 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 341 at line no. 1075 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 342 at line no. 1076 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 343 at line no. 1077 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 344 at line no. 1078 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 345 at line no. 1079 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 346 at line no. 1080 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 347 at line no. 1082 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 348 at line no. 1083 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 349 at line no. 1084 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 350 at line no. 1085 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 351 at line no. 1086 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 352 at line no. 1087 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 353 at line no. 1088 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 354 at line no. 1089 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 355 at line no. 1090 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 356 at line no. 1091 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 357 at line no. 1092 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 358 at line no. 1093 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 359 at line no. 1094 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 360 at line no. 1095 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 361 at line no. 1096 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 362 at line no. 1097 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 363 at line no. 1098 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 364 at line no. 1099 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 365 at line no. 1100 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 366 at line no. 1101 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 367 at line no. 1102 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 368 at line no. 1103 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 369 at line no. 1104 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 370 at line no. 1105 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 371 at line no. 1107 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 372 at line no. 1108 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1109 is non-static
+
+   1 #STMT 373 at line no. 1109 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1110 is non-static
+
+   1 #STMT 374 at line no. 1110 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1111 is non-static
+
+   1 #STMT 375 at line no. 1111 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1112 is non-static
+
+   1 #STMT 376 at line no. 1112 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 377 at line no. 1114 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 378 at line no. 1115 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 379 at line no. 1116 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 380 at line no. 1117 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1118 is non-static
+
+   1 #STMT 381 at line no. 1118 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1119 is non-static
+
+   1 #STMT 382 at line no. 1119 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1120 is non-static
+
+   1 #STMT 383 at line no. 1120 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1121 is non-static
+
+   1 #STMT 384 at line no. 1121 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 385 at line no. 1123 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 386 at line no. 1124 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1125 is non-static
+
+   1 #STMT 387 at line no. 1125 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1126 is non-static
+
+   1 #STMT 388 at line no. 1126 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1127 is non-static
+
+   1 #STMT 389 at line no. 1127 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1128 is non-static
+
+   1 #STMT 390 at line no. 1128 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 391 at line no. 1130 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 392 at line no. 1131 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 393 at line no. 1132 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 394 at line no. 1133 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1134 is non-static
+
+   1 #STMT 395 at line no. 1134 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1135 is non-static
+
+   1 #STMT 396 at line no. 1135 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1136 is non-static
+
+   1 #STMT 397 at line no. 1136 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1137 is non-static
+
+   1 #STMT 398 at line no. 1137 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 399 at line no. 1148 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 400 at line no. 1149 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 401 at line no. 1150 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 402 at line no. 1151 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 403 at line no. 1152 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 404 at line no. 1153 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 405 at line no. 1154 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 406 at line no. 1155 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 407 at line no. 1163 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 408 at line no. 1164 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 409 at line no. 1165 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 410 at line no. 1166 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 411 at line no. 1167 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 412 at line no. 1168 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 413 at line no. 1169 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 414 at line no. 1170 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 415 at line no. 1171 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 416 at line no. 1172 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 417 at line no. 1173 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 418 at line no. 1174 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 419 at line no. 1175 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 420 at line no. 1176 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 421 at line no. 1177 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 422 at line no. 1178 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 423 at line no. 1180 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 424 at line no. 1181 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 425 at line no. 1182 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 426 at line no. 1183 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 427 at line no. 1184 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 428 at line no. 1185 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 429 at line no. 1186 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 430 at line no. 1187 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 431 at line no. 1188 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 432 at line no. 1189 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 433 at line no. 1190 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 434 at line no. 1191 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 435 at line no. 1192 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 436 at line no. 1193 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 437 at line no. 1194 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 438 at line no. 1195 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 439 at line no. 1196 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 440 at line no. 1197 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 441 at line no. 1198 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 442 at line no. 1199 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 443 at line no. 1200 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 444 at line no. 1201 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 445 at line no. 1202 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 446 at line no. 1203 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 447 at line no. 1204 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 448 at line no. 1205 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 449 at line no. 1206 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 450 at line no. 1207 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 451 at line no. 1209 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 452 at line no. 1210 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 453 at line no. 1211 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 454 at line no. 1212 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 455 at line no. 1213 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 456 at line no. 1214 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 457 at line no. 1215 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 458 at line no. 1216 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 459 at line no. 1217 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 460 at line no. 1218 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 461 at line no. 1219 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 462 at line no. 1220 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 463 at line no. 1221 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 464 at line no. 1222 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 465 at line no. 1223 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 466 at line no. 1224 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 467 at line no. 1225 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 468 at line no. 1226 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 469 at line no. 1227 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 470 at line no. 1228 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 471 at line no. 1229 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 472 at line no. 1230 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 473 at line no. 1231 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 474 at line no. 1232 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 475 at line no. 1234 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 476 at line no. 1235 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1236 is non-static
+
+   1 #STMT 477 at line no. 1236 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1237 is non-static
+
+   1 #STMT 478 at line no. 1237 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1238 is non-static
+
+   1 #STMT 479 at line no. 1238 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1239 is non-static
+
+   1 #STMT 480 at line no. 1239 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 481 at line no. 1241 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 482 at line no. 1242 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 483 at line no. 1243 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 484 at line no. 1244 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1245 is non-static
+
+   1 #STMT 485 at line no. 1245 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1246 is non-static
+
+   1 #STMT 486 at line no. 1246 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1247 is non-static
+
+   1 #STMT 487 at line no. 1247 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1248 is non-static
+
+   1 #STMT 488 at line no. 1248 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 489 at line no. 1250 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 490 at line no. 1251 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1252 is non-static
+
+   1 #STMT 491 at line no. 1252 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1253 is non-static
+
+   1 #STMT 492 at line no. 1253 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1254 is non-static
+
+   1 #STMT 493 at line no. 1254 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1255 is non-static
+
+   1 #STMT 494 at line no. 1255 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 495 at line no. 1257 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 496 at line no. 1258 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 497 at line no. 1259 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 498 at line no. 1260 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1261 is non-static
+
+   1 #STMT 499 at line no. 1261 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1262 is non-static
+
+   1 #STMT 500 at line no. 1262 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1263 is non-static
+
+   1 #STMT 501 at line no. 1263 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1264 is non-static
+
+   1 #STMT 502 at line no. 1264 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 503 at line no. 1269 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_18 @f90li_1_18   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 504 at line no. 1275 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 505 at line no. 1276 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 506 at line no. 1277 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 507 at line no. 1278 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 508 at line no. 1279 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 509 at line no. 1280 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 510 at line no. 1281 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 511 at line no. 1282 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 512 at line no. 1290 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 513 at line no. 1291 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 514 at line no. 1292 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 515 at line no. 1293 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 516 at line no. 1294 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 517 at line no. 1295 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 518 at line no. 1296 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 519 at line no. 1297 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 520 at line no. 1298 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 521 at line no. 1299 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 522 at line no. 1300 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 523 at line no. 1301 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 524 at line no. 1302 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 525 at line no. 1303 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 526 at line no. 1304 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 527 at line no. 1305 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 528 at line no. 1307 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 529 at line no. 1308 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 530 at line no. 1309 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 531 at line no. 1310 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 532 at line no. 1311 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 533 at line no. 1312 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 534 at line no. 1313 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 535 at line no. 1314 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 536 at line no. 1315 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 537 at line no. 1316 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 538 at line no. 1317 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 539 at line no. 1318 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 540 at line no. 1319 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 541 at line no. 1320 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 542 at line no. 1321 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 543 at line no. 1322 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 544 at line no. 1323 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 545 at line no. 1324 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 546 at line no. 1325 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 547 at line no. 1326 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 548 at line no. 1327 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 549 at line no. 1328 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 550 at line no. 1329 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 551 at line no. 1330 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 552 at line no. 1331 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 553 at line no. 1332 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 554 at line no. 1333 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 555 at line no. 1334 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 556 at line no. 1336 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 557 at line no. 1337 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 558 at line no. 1338 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 559 at line no. 1339 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 560 at line no. 1340 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 561 at line no. 1341 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 562 at line no. 1342 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 563 at line no. 1343 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 564 at line no. 1344 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 565 at line no. 1345 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 566 at line no. 1346 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 567 at line no. 1347 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 568 at line no. 1348 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 569 at line no. 1349 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 570 at line no. 1350 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 571 at line no. 1351 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 572 at line no. 1352 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 573 at line no. 1353 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 574 at line no. 1354 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 575 at line no. 1355 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 576 at line no. 1356 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 577 at line no. 1357 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 578 at line no. 1358 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 579 at line no. 1359 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 580 at line no. 1361 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 581 at line no. 1362 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1363 is non-static
+
+   1 #STMT 582 at line no. 1363 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1364 is non-static
+
+   1 #STMT 583 at line no. 1364 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1365 is non-static
+
+   1 #STMT 584 at line no. 1365 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1366 is non-static
+
+   1 #STMT 585 at line no. 1366 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 586 at line no. 1368 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 587 at line no. 1369 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 588 at line no. 1370 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 589 at line no. 1371 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1372 is non-static
+
+   1 #STMT 590 at line no. 1372 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1373 is non-static
+
+   1 #STMT 591 at line no. 1373 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1374 is non-static
+
+   1 #STMT 592 at line no. 1374 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1375 is non-static
+
+   1 #STMT 593 at line no. 1375 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 594 at line no. 1377 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 595 at line no. 1378 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1379 is non-static
+
+   1 #STMT 596 at line no. 1379 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1380 is non-static
+
+   1 #STMT 597 at line no. 1380 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1381 is non-static
+
+   1 #STMT 598 at line no. 1381 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1382 is non-static
+
+   1 #STMT 599 at line no. 1382 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 600 at line no. 1384 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 601 at line no. 1385 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 602 at line no. 1386 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 603 at line no. 1387 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1388 is non-static
+
+   1 #STMT 604 at line no. 1388 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1389 is non-static
+
+   1 #STMT 605 at line no. 1389 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1390 is non-static
+
+   1 #STMT 606 at line no. 1390 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1391 is non-static
+
+   1 #STMT 607 at line no. 1391 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 608 at line no. 1402 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 609 at line no. 1403 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 610 at line no. 1412 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 611 at line no. 1413 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 612 at line no. 1414 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 613 at line no. 1415 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 614 at line no. 1416 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 615 at line no. 1417 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1418 is non-static
+
+   1 #STMT 616 at line no. 1418 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1419 is non-static
+
+   1 #STMT 617 at line no. 1419 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1420 is non-static
+
+   1 #STMT 618 at line no. 1420 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1421 is non-static
+
+   1 #STMT 619 at line no. 1421 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 620 at line no. 1426 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_19 @f90li_1_19   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 621 at line no. 1433 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 622 at line no. 1434 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 623 at line no. 1435 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 624 at line no. 1436 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 625 at line no. 1445 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 626 at line no. 1446 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 627 at line no. 1447 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 628 at line no. 1448 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 629 at line no. 1449 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 630 at line no. 1450 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 631 at line no. 1451 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 632 at line no. 1452 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 633 at line no. 1453 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 634 at line no. 1454 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 635 at line no. 1455 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 636 at line no. 1456 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 637 at line no. 1457 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 638 at line no. 1458 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 639 at line no. 1459 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 640 at line no. 1460 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 641 at line no. 1461 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 642 at line no. 1462 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 643 at line no. 1463 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 644 at line no. 1464 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 645 at line no. 1465 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 646 at line no. 1466 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 647 at line no. 1467 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 648 at line no. 1468 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 649 at line no. 1469 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 650 at line no. 1470 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1471 is non-static
+
+   1 #STMT 651 at line no. 1471 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1472 is non-static
+
+   1 #STMT 652 at line no. 1472 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1473 is non-static
+
+   1 #STMT 653 at line no. 1473 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1474 is non-static
+
+   1 #STMT 654 at line no. 1474 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1475 is non-static
+
+   1 #STMT 655 at line no. 1475 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1476 is non-static
+
+   1 #STMT 656 at line no. 1476 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1477 is non-static
+
+   1 #STMT 657 at line no. 1477 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1478 is non-static
+
+   1 #STMT 658 at line no. 1478 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 659 at line no. 1483 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_20 @f90li_1_20   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 660 at line no. 1490 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 661 at line no. 1491 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 662 at line no. 1492 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 663 at line no. 1493 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 664 at line no. 1494 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 665 at line no. 1495 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 666 at line no. 1496 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 667 at line no. 1497 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 668 at line no. 1505 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 669 at line no. 1506 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 670 at line no. 1507 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 671 at line no. 1508 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 672 at line no. 1509 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 673 at line no. 1510 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 674 at line no. 1511 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 675 at line no. 1512 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 676 at line no. 1513 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 677 at line no. 1514 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 678 at line no. 1515 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 679 at line no. 1516 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 680 at line no. 1517 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 681 at line no. 1518 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 682 at line no. 1519 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 683 at line no. 1520 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 684 at line no. 1522 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 685 at line no. 1523 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 686 at line no. 1524 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 687 at line no. 1525 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 688 at line no. 1526 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 689 at line no. 1527 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 690 at line no. 1528 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 691 at line no. 1529 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 692 at line no. 1530 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 693 at line no. 1531 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 694 at line no. 1532 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 695 at line no. 1533 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 696 at line no. 1534 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 697 at line no. 1535 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 698 at line no. 1536 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 699 at line no. 1537 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 700 at line no. 1538 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 701 at line no. 1539 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 702 at line no. 1540 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 703 at line no. 1541 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 704 at line no. 1542 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 705 at line no. 1543 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 706 at line no. 1544 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 707 at line no. 1545 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 708 at line no. 1546 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 709 at line no. 1547 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 710 at line no. 1548 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 711 at line no. 1549 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 712 at line no. 1551 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 713 at line no. 1552 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 714 at line no. 1553 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 715 at line no. 1554 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 716 at line no. 1555 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 717 at line no. 1556 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 718 at line no. 1557 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 719 at line no. 1558 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 720 at line no. 1559 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 721 at line no. 1560 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 722 at line no. 1561 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 723 at line no. 1562 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 724 at line no. 1563 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 725 at line no. 1564 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 726 at line no. 1565 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 727 at line no. 1566 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 728 at line no. 1567 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 729 at line no. 1568 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 730 at line no. 1569 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 731 at line no. 1570 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 732 at line no. 1571 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 733 at line no. 1572 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 734 at line no. 1573 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 735 at line no. 1574 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 736 at line no. 1576 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 737 at line no. 1577 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1578 is non-static
+
+   1 #STMT 738 at line no. 1578 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1579 is non-static
+
+   1 #STMT 739 at line no. 1579 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1580 is non-static
+
+   1 #STMT 740 at line no. 1580 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1581 is non-static
+
+   1 #STMT 741 at line no. 1581 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 742 at line no. 1583 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 743 at line no. 1584 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 744 at line no. 1585 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 745 at line no. 1586 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1587 is non-static
+
+   1 #STMT 746 at line no. 1587 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1588 is non-static
+
+   1 #STMT 747 at line no. 1588 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1589 is non-static
+
+   1 #STMT 748 at line no. 1589 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1590 is non-static
+
+   1 #STMT 749 at line no. 1590 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 750 at line no. 1592 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 751 at line no. 1593 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1594 is non-static
+
+   1 #STMT 752 at line no. 1594 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1595 is non-static
+
+   1 #STMT 753 at line no. 1595 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1596 is non-static
+
+   1 #STMT 754 at line no. 1596 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1597 is non-static
+
+   1 #STMT 755 at line no. 1597 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 756 at line no. 1599 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 757 at line no. 1600 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 758 at line no. 1601 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 759 at line no. 1602 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1603 is non-static
+
+   1 #STMT 760 at line no. 1603 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1604 is non-static
+
+   1 #STMT 761 at line no. 1604 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1605 is non-static
+
+   1 #STMT 762 at line no. 1605 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1606 is non-static
+
+   1 #STMT 763 at line no. 1606 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 764 at line no. 1611 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_21 @f90li_1_21   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 765 at line no. 1617 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 766 at line no. 1618 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 767 at line no. 1627 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 768 at line no. 1628 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 769 at line no. 1629 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 770 at line no. 1630 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 771 at line no. 1631 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 772 at line no. 1632 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1633 is non-static
+
+   1 #STMT 773 at line no. 1633 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1634 is non-static
+
+   1 #STMT 774 at line no. 1634 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1635 is non-static
+
+   1 #STMT 775 at line no. 1635 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1636 is non-static
+
+   1 #STMT 776 at line no. 1636 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 777 at line no. 1647 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 778 at line no. 1648 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 779 at line no. 1649 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 780 at line no. 1650 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 781 at line no. 1659 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 782 at line no. 1660 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 783 at line no. 1661 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 784 at line no. 1662 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 785 at line no. 1663 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 786 at line no. 1664 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 787 at line no. 1665 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 788 at line no. 1666 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 789 at line no. 1667 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 790 at line no. 1668 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 791 at line no. 1669 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 792 at line no. 1670 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 793 at line no. 1671 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 794 at line no. 1672 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 795 at line no. 1673 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 796 at line no. 1674 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 797 at line no. 1675 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 798 at line no. 1676 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 799 at line no. 1677 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 800 at line no. 1678 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 801 at line no. 1679 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 802 at line no. 1680 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 803 at line no. 1681 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 804 at line no. 1682 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 805 at line no. 1683 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 806 at line no. 1684 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1685 is non-static
+
+   1 #STMT 807 at line no. 1685 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1686 is non-static
+
+   1 #STMT 808 at line no. 1686 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1687 is non-static
+
+   1 #STMT 809 at line no. 1687 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1688 is non-static
+
+   1 #STMT 810 at line no. 1688 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1689 is non-static
+
+   1 #STMT 811 at line no. 1689 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1690 is non-static
+
+   1 #STMT 812 at line no. 1690 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1691 is non-static
+
+   1 #STMT 813 at line no. 1691 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1692 is non-static
+
+   1 #STMT 814 at line no. 1692 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 815 at line no. 1703 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 816 at line no. 1704 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 817 at line no. 1705 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 818 at line no. 1706 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 819 at line no. 1707 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 820 at line no. 1708 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 821 at line no. 1709 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 822 at line no. 1710 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 823 at line no. 1718 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 824 at line no. 1719 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 825 at line no. 1720 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 826 at line no. 1721 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 827 at line no. 1722 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 828 at line no. 1723 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 829 at line no. 1724 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 830 at line no. 1725 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 831 at line no. 1726 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 832 at line no. 1727 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 833 at line no. 1728 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 834 at line no. 1729 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 835 at line no. 1730 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 836 at line no. 1731 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 837 at line no. 1732 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 838 at line no. 1733 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 839 at line no. 1735 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 840 at line no. 1736 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 841 at line no. 1737 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 842 at line no. 1738 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 843 at line no. 1739 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 844 at line no. 1740 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 845 at line no. 1741 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 846 at line no. 1742 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 847 at line no. 1743 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 848 at line no. 1744 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 849 at line no. 1745 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 850 at line no. 1746 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 851 at line no. 1747 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 852 at line no. 1748 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 853 at line no. 1749 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 854 at line no. 1750 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 855 at line no. 1751 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 856 at line no. 1752 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 857 at line no. 1753 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 858 at line no. 1754 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 859 at line no. 1755 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 860 at line no. 1756 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 861 at line no. 1757 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 862 at line no. 1758 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 863 at line no. 1759 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 864 at line no. 1760 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 865 at line no. 1761 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 866 at line no. 1762 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 867 at line no. 1764 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 868 at line no. 1765 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 869 at line no. 1766 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 870 at line no. 1767 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 871 at line no. 1768 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 872 at line no. 1769 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 873 at line no. 1770 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 874 at line no. 1771 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 875 at line no. 1772 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 876 at line no. 1773 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 877 at line no. 1774 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 878 at line no. 1775 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 879 at line no. 1776 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 880 at line no. 1777 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 881 at line no. 1778 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 882 at line no. 1779 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 883 at line no. 1780 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 884 at line no. 1781 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 885 at line no. 1782 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 886 at line no. 1783 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 887 at line no. 1784 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 888 at line no. 1785 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 889 at line no. 1786 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 890 at line no. 1787 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 891 at line no. 1789 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 892 at line no. 1790 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1791 is non-static
+
+   1 #STMT 893 at line no. 1791 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1792 is non-static
+
+   1 #STMT 894 at line no. 1792 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1793 is non-static
+
+   1 #STMT 895 at line no. 1793 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1794 is non-static
+
+   1 #STMT 896 at line no. 1794 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 897 at line no. 1796 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 898 at line no. 1797 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 899 at line no. 1798 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 900 at line no. 1799 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1800 is non-static
+
+   1 #STMT 901 at line no. 1800 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1801 is non-static
+
+   1 #STMT 902 at line no. 1801 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1802 is non-static
+
+   1 #STMT 903 at line no. 1802 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1803 is non-static
+
+   1 #STMT 904 at line no. 1803 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 905 at line no. 1805 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 906 at line no. 1806 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1807 is non-static
+
+   1 #STMT 907 at line no. 1807 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1808 is non-static
+
+   1 #STMT 908 at line no. 1808 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1809 is non-static
+
+   1 #STMT 909 at line no. 1809 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1810 is non-static
+
+   1 #STMT 910 at line no. 1810 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 911 at line no. 1812 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 912 at line no. 1813 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 913 at line no. 1814 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 914 at line no. 1815 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1816 is non-static
+
+   1 #STMT 915 at line no. 1816 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1817 is non-static
+
+   1 #STMT 916 at line no. 1817 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1818 is non-static
+
+   1 #STMT 917 at line no. 1818 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 1819 is non-static
+
+   1 #STMT 918 at line no. 1819 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 919 at line no. 1863 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 920 at line no. 1865 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 921 at line no. 1866 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 922 at line no. 1868 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 923 at line no. 1869 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 924 at line no. 1875 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 925 at line no. 1876 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 926 at line no. 1877 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 927 at line no. 1878 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 928 at line no. 1879 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 929 at line no. 1880 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 930 at line no. 1892 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 931 at line no. 1893 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 932 at line no. 1904 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 933 at line no. 1905 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 934 at line no. 1906 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 935 at line no. 1907 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 936 at line no. 1910 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 937 at line no. 1911 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 938 at line no. 1912 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 939 at line no. 1913 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 940 at line no. 1916 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 941 at line no. 1917 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 942 at line no. 1920 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 943 at line no. 1921 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 944 at line no. 1924 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 945 at line no. 1924 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 946 at line no. 1924 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 947 at line no. 1925 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 948 at line no. 1925 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 949 at line no. 1925 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 950 at line no. 1928 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 951 at line no. 1929 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 952 at line no. 1931 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 953 at line no. 1932 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 954 at line no. 1935 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 955 at line no. 1936 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 956 at line no. 1938 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 957 at line no. 1939 has 1 domain
+   # Domain 1
+   2 14
+   #    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    2 
+   1   -1    1    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 958 at line no. 1943 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 959 at line no. 1943 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 960 at line no. 1944 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 961 at line no. 1944 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 962 at line no. 1945 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 963 at line no. 1946 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 964 at line no. 1964 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 965 at line no. 1965 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 966 at line no. 1966 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 967 at line no. 1967 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 968 at line no. 1968 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 969 at line no. 1969 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 970 at line no. 1970 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 971 at line no. 1971 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 972 at line no. 1972 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 973 at line no. 1973 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 974 at line no. 1974 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 975 at line no. 1975 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 976 at line no. 1976 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 977 at line no. 1977 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 978 at line no. 1978 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 979 at line no. 1979 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 980 at line no. 1981 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 981 at line no. 1982 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 982 at line no. 1983 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 983 at line no. 1984 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 984 at line no. 1985 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 985 at line no. 1986 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 986 at line no. 1987 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 987 at line no. 1988 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 988 at line no. 1989 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 989 at line no. 1990 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 990 at line no. 1991 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 991 at line no. 1992 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 992 at line no. 1993 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 993 at line no. 1994 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 994 at line no. 1995 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 995 at line no. 1996 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 996 at line no. 1997 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 997 at line no. 1998 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 998 at line no. 1999 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 999 at line no. 2000 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1000 at line no. 2001 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1001 at line no. 2002 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1002 at line no. 2003 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1003 at line no. 2004 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1004 at line no. 2006 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1005 at line no. 2007 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1006 at line no. 2008 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1007 at line no. 2010 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1008 at line no. 2011 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1009 at line no. 2012 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1010 at line no. 2013 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1011 at line no. 2014 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1012 at line no. 2015 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1013 at line no. 2016 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1014 at line no. 2017 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1015 at line no. 2019 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1016 at line no. 2020 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1017 at line no. 2021 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1018 at line no. 2023 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1019 at line no. 2024 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1020 at line no. 2025 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1021 at line no. 2026 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1022 at line no. 2027 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1023 at line no. 2028 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1024 at line no. 2029 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1025 at line no. 2030 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1026 at line no. 2032 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1027 at line no. 2033 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1028 at line no. 2034 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1029 at line no. 2035 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1030 at line no. 2037 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1031 at line no. 2038 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1032 at line no. 2039 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1033 at line no. 2040 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1034 at line no. 2041 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1035 at line no. 2042 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1036 at line no. 2044 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1037 at line no. 2045 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1038 at line no. 2046 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1039 at line no. 2047 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1040 at line no. 2049 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1041 at line no. 2050 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1042 at line no. 2051 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1043 at line no. 2052 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1044 at line no. 2053 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1045 at line no. 2054 has 1 domain
+   # Domain 1
+   2 14
+   # .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1  -16    0    0    0    0    1    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1046 at line no. 2056 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1047 at line no. 2062 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1048 at line no. 2063 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1049 at line no. 2064 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1050 at line no. 2065 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1051 at line no. 2066 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1052 at line no. 2067 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1053 at line no. 2068 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1054 at line no. 2069 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    8 
+   0    0    0 
+
+   1 #STMT 1055 at line no. 2077 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1056 at line no. 2078 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1057 at line no. 2079 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1058 at line no. 2080 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1059 at line no. 2081 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1060 at line no. 2082 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1061 at line no. 2083 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1062 at line no. 2084 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1063 at line no. 2085 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1064 at line no. 2086 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1065 at line no. 2087 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1066 at line no. 2088 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1067 at line no. 2089 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1068 at line no. 2090 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1069 at line no. 2091 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1070 at line no. 2092 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1071 at line no. 2094 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1072 at line no. 2095 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1073 at line no. 2096 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1074 at line no. 2097 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1075 at line no. 2098 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1076 at line no. 2099 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1077 at line no. 2100 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1078 at line no. 2101 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1079 at line no. 2102 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1080 at line no. 2103 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1081 at line no. 2104 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1082 at line no. 2105 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1083 at line no. 2106 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1084 at line no. 2107 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1085 at line no. 2108 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1086 at line no. 2109 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1087 at line no. 2110 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1088 at line no. 2111 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1089 at line no. 2112 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1090 at line no. 2113 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1091 at line no. 2114 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1092 at line no. 2115 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1093 at line no. 2116 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1094 at line no. 2117 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1095 at line no. 2118 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1096 at line no. 2119 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1097 at line no. 2120 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1098 at line no. 2121 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1099 at line no. 2123 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1100 at line no. 2124 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1101 at line no. 2125 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1102 at line no. 2126 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1103 at line no. 2127 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1104 at line no. 2128 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1105 at line no. 2129 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1106 at line no. 2130 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1107 at line no. 2131 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1108 at line no. 2132 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1109 at line no. 2133 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1110 at line no. 2134 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1111 at line no. 2135 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1112 at line no. 2136 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1113 at line no. 2137 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1114 at line no. 2138 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1115 at line no. 2139 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1116 at line no. 2140 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1117 at line no. 2141 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1118 at line no. 2142 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1119 at line no. 2143 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1120 at line no. 2144 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1121 at line no. 2145 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1122 at line no. 2146 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1123 at line no. 2148 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1124 at line no. 2149 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2150 is non-static
+
+   1 #STMT 1125 at line no. 2150 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2151 is non-static
+
+   1 #STMT 1126 at line no. 2151 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2152 is non-static
+
+   1 #STMT 1127 at line no. 2152 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2153 is non-static
+
+   1 #STMT 1128 at line no. 2153 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1129 at line no. 2155 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1130 at line no. 2156 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1131 at line no. 2157 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1132 at line no. 2158 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2159 is non-static
+
+   1 #STMT 1133 at line no. 2159 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2160 is non-static
+
+   1 #STMT 1134 at line no. 2160 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2161 is non-static
+
+   1 #STMT 1135 at line no. 2161 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2162 is non-static
+
+   1 #STMT 1136 at line no. 2162 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1137 at line no. 2164 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1138 at line no. 2165 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2166 is non-static
+
+   1 #STMT 1139 at line no. 2166 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2167 is non-static
+
+   1 #STMT 1140 at line no. 2167 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2168 is non-static
+
+   1 #STMT 1141 at line no. 2168 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2169 is non-static
+
+   1 #STMT 1142 at line no. 2169 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1143 at line no. 2171 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1144 at line no. 2172 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1145 at line no. 2173 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1146 at line no. 2174 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2175 is non-static
+
+   1 #STMT 1147 at line no. 2175 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2176 is non-static
+
+   1 #STMT 1148 at line no. 2176 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2177 is non-static
+
+   1 #STMT 1149 at line no. 2177 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2178 is non-static
+
+   1 #STMT 1150 at line no. 2178 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    8 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1151 at line no. 2183 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_22 @f90li_1_22   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1152 at line no. 2183 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1153 at line no. 2189 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1154 at line no. 2190 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1155 at line no. 2191 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1156 at line no. 2192 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1157 at line no. 2193 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1158 at line no. 2194 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1159 at line no. 2195 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1160 at line no. 2196 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0   64 
+   0    0    0 
+
+   1 #STMT 1161 at line no. 2204 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1162 at line no. 2205 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1163 at line no. 2206 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1164 at line no. 2207 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1165 at line no. 2208 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1166 at line no. 2209 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1167 at line no. 2210 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1168 at line no. 2211 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1169 at line no. 2212 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1170 at line no. 2213 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1171 at line no. 2214 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1172 at line no. 2215 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1173 at line no. 2216 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1174 at line no. 2217 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1175 at line no. 2218 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1176 at line no. 2219 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1177 at line no. 2221 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1178 at line no. 2222 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1179 at line no. 2223 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1180 at line no. 2224 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1181 at line no. 2225 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1182 at line no. 2226 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1183 at line no. 2227 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1184 at line no. 2228 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1185 at line no. 2229 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1186 at line no. 2230 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1187 at line no. 2231 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1188 at line no. 2232 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1189 at line no. 2233 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1190 at line no. 2234 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1191 at line no. 2235 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1192 at line no. 2236 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1193 at line no. 2237 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1194 at line no. 2238 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1195 at line no. 2239 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1196 at line no. 2240 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1197 at line no. 2241 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1198 at line no. 2242 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1199 at line no. 2243 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1200 at line no. 2244 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1201 at line no. 2245 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1202 at line no. 2246 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1203 at line no. 2247 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1204 at line no. 2248 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1205 at line no. 2250 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1206 at line no. 2251 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1207 at line no. 2252 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1208 at line no. 2253 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1209 at line no. 2254 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1210 at line no. 2255 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1211 at line no. 2256 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1212 at line no. 2257 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1213 at line no. 2258 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1214 at line no. 2259 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1215 at line no. 2260 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1216 at line no. 2261 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1217 at line no. 2262 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1218 at line no. 2263 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1219 at line no. 2264 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1220 at line no. 2265 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1221 at line no. 2266 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1222 at line no. 2267 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1223 at line no. 2268 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1224 at line no. 2269 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1225 at line no. 2270 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1226 at line no. 2271 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1227 at line no. 2272 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1228 at line no. 2273 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1229 at line no. 2275 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1230 at line no. 2276 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2277 is non-static
+
+   1 #STMT 1231 at line no. 2277 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2278 is non-static
+
+   1 #STMT 1232 at line no. 2278 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2279 is non-static
+
+   1 #STMT 1233 at line no. 2279 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2280 is non-static
+
+   1 #STMT 1234 at line no. 2280 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1235 at line no. 2282 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1236 at line no. 2283 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1237 at line no. 2284 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1238 at line no. 2285 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2286 is non-static
+
+   1 #STMT 1239 at line no. 2286 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2287 is non-static
+
+   1 #STMT 1240 at line no. 2287 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2288 is non-static
+
+   1 #STMT 1241 at line no. 2288 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2289 is non-static
+
+   1 #STMT 1242 at line no. 2289 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1243 at line no. 2291 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1244 at line no. 2292 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2293 is non-static
+
+   1 #STMT 1245 at line no. 2293 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2294 is non-static
+
+   1 #STMT 1246 at line no. 2294 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2295 is non-static
+
+   1 #STMT 1247 at line no. 2295 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2296 is non-static
+
+   1 #STMT 1248 at line no. 2296 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1249 at line no. 2298 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1250 at line no. 2299 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1251 at line no. 2300 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1252 at line no. 2301 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2302 is non-static
+
+   1 #STMT 1253 at line no. 2302 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2303 is non-static
+
+   1 #STMT 1254 at line no. 2303 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2304 is non-static
+
+   1 #STMT 1255 at line no. 2304 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2305 is non-static
+
+   1 #STMT 1256 at line no. 2305 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0   64 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1257 at line no. 2310 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1258 at line no. 2316 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1259 at line no. 2317 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1260 at line no. 2318 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1261 at line no. 2319 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1262 at line no. 2320 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1263 at line no. 2321 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1264 at line no. 2322 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1265 at line no. 2323 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0  512 
+   0    0    0 
+
+   1 #STMT 1266 at line no. 2331 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1267 at line no. 2332 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1268 at line no. 2333 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1269 at line no. 2334 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1270 at line no. 2335 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1271 at line no. 2336 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1272 at line no. 2337 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1273 at line no. 2338 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1274 at line no. 2339 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1275 at line no. 2340 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1276 at line no. 2341 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1277 at line no. 2342 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1278 at line no. 2343 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1279 at line no. 2344 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1280 at line no. 2345 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1281 at line no. 2346 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1282 at line no. 2348 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1283 at line no. 2349 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1284 at line no. 2350 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1285 at line no. 2351 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1286 at line no. 2352 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1287 at line no. 2353 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1288 at line no. 2354 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1289 at line no. 2355 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1290 at line no. 2356 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1291 at line no. 2357 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1292 at line no. 2358 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1293 at line no. 2359 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1294 at line no. 2360 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1295 at line no. 2361 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1296 at line no. 2362 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1297 at line no. 2363 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1298 at line no. 2364 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1299 at line no. 2365 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1300 at line no. 2366 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1301 at line no. 2367 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1302 at line no. 2368 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1303 at line no. 2369 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1304 at line no. 2370 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1305 at line no. 2371 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1306 at line no. 2372 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1307 at line no. 2373 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1308 at line no. 2374 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1309 at line no. 2375 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1310 at line no. 2377 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1311 at line no. 2378 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1312 at line no. 2379 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1313 at line no. 2380 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1314 at line no. 2381 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1315 at line no. 2382 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1316 at line no. 2383 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1317 at line no. 2384 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1318 at line no. 2385 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1319 at line no. 2386 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1320 at line no. 2387 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1321 at line no. 2388 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1322 at line no. 2389 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1323 at line no. 2390 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1324 at line no. 2391 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1325 at line no. 2392 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1326 at line no. 2393 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1327 at line no. 2394 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1328 at line no. 2395 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1329 at line no. 2396 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1330 at line no. 2397 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1331 at line no. 2398 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1332 at line no. 2399 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1333 at line no. 2400 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1334 at line no. 2402 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1335 at line no. 2403 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2404 is non-static
+
+   1 #STMT 1336 at line no. 2404 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2405 is non-static
+
+   1 #STMT 1337 at line no. 2405 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2406 is non-static
+
+   1 #STMT 1338 at line no. 2406 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2407 is non-static
+
+   1 #STMT 1339 at line no. 2407 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1340 at line no. 2409 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1341 at line no. 2410 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1342 at line no. 2411 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1343 at line no. 2412 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2413 is non-static
+
+   1 #STMT 1344 at line no. 2413 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2414 is non-static
+
+   1 #STMT 1345 at line no. 2414 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2415 is non-static
+
+   1 #STMT 1346 at line no. 2415 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2416 is non-static
+
+   1 #STMT 1347 at line no. 2416 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1348 at line no. 2418 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1349 at line no. 2419 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2420 is non-static
+
+   1 #STMT 1350 at line no. 2420 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2421 is non-static
+
+   1 #STMT 1351 at line no. 2421 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2422 is non-static
+
+   1 #STMT 1352 at line no. 2422 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2423 is non-static
+
+   1 #STMT 1353 at line no. 2423 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1354 at line no. 2425 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1355 at line no. 2426 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1356 at line no. 2427 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1357 at line no. 2428 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2429 is non-static
+
+   1 #STMT 1358 at line no. 2429 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2430 is non-static
+
+   1 #STMT 1359 at line no. 2430 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2431 is non-static
+
+   1 #STMT 1360 at line no. 2431 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2432 is non-static
+
+   1 #STMT 1361 at line no. 2432 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0  512 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1362 at line no. 2437 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_23 @f90li_1_23   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1363 at line no. 2437 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1364 at line no. 2443 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1365 at line no. 2444 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1366 at line no. 2445 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1367 at line no. 2446 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1368 at line no. 2447 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1369 at line no. 2448 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1370 at line no. 2449 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1371 at line no. 2450 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 4096 
+   0    0    0 
+
+   1 #STMT 1372 at line no. 2458 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1373 at line no. 2459 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1374 at line no. 2460 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1375 at line no. 2461 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1376 at line no. 2462 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1377 at line no. 2463 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1378 at line no. 2464 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1379 at line no. 2465 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1380 at line no. 2466 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1381 at line no. 2467 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1382 at line no. 2468 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1383 at line no. 2469 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1384 at line no. 2470 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1385 at line no. 2471 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1386 at line no. 2472 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1387 at line no. 2473 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1388 at line no. 2475 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1389 at line no. 2476 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1390 at line no. 2477 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1391 at line no. 2478 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1392 at line no. 2479 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1393 at line no. 2480 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1394 at line no. 2481 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1395 at line no. 2482 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1396 at line no. 2483 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1397 at line no. 2484 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1398 at line no. 2485 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1399 at line no. 2486 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1400 at line no. 2487 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1401 at line no. 2488 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1402 at line no. 2489 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1403 at line no. 2490 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1404 at line no. 2491 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1405 at line no. 2492 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1406 at line no. 2493 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1407 at line no. 2494 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1408 at line no. 2495 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1409 at line no. 2496 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1410 at line no. 2497 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1411 at line no. 2498 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1412 at line no. 2499 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1413 at line no. 2500 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1414 at line no. 2501 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1415 at line no. 2502 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1416 at line no. 2504 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1417 at line no. 2505 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1418 at line no. 2506 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1419 at line no. 2507 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1420 at line no. 2508 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1421 at line no. 2509 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1422 at line no. 2510 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1423 at line no. 2511 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1424 at line no. 2512 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1425 at line no. 2513 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1426 at line no. 2514 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1427 at line no. 2515 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1428 at line no. 2516 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1429 at line no. 2517 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1430 at line no. 2518 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1431 at line no. 2519 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1432 at line no. 2520 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1433 at line no. 2521 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1434 at line no. 2522 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1435 at line no. 2523 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1436 at line no. 2524 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1437 at line no. 2525 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1438 at line no. 2526 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1439 at line no. 2527 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1440 at line no. 2529 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1441 at line no. 2530 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2531 is non-static
+
+   1 #STMT 1442 at line no. 2531 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2532 is non-static
+
+   1 #STMT 1443 at line no. 2532 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2533 is non-static
+
+   1 #STMT 1444 at line no. 2533 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2534 is non-static
+
+   1 #STMT 1445 at line no. 2534 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1446 at line no. 2536 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1447 at line no. 2537 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1448 at line no. 2538 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1449 at line no. 2539 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2540 is non-static
+
+   1 #STMT 1450 at line no. 2540 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2541 is non-static
+
+   1 #STMT 1451 at line no. 2541 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2542 is non-static
+
+   1 #STMT 1452 at line no. 2542 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2543 is non-static
+
+   1 #STMT 1453 at line no. 2543 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1454 at line no. 2545 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1455 at line no. 2546 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2547 is non-static
+
+   1 #STMT 1456 at line no. 2547 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2548 is non-static
+
+   1 #STMT 1457 at line no. 2548 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2549 is non-static
+
+   1 #STMT 1458 at line no. 2549 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2550 is non-static
+
+   1 #STMT 1459 at line no. 2550 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1460 at line no. 2552 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1461 at line no. 2553 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1462 at line no. 2554 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1463 at line no. 2555 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2556 is non-static
+
+   1 #STMT 1464 at line no. 2556 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2557 is non-static
+
+   1 #STMT 1465 at line no. 2557 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2558 is non-static
+
+   1 #STMT 1466 at line no. 2558 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2559 is non-static
+
+   1 #STMT 1467 at line no. 2559 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 4096 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1468 at line no. 2564 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1469 at line no. 2570 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1470 at line no. 2571 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1471 at line no. 2580 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1472 at line no. 2581 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1473 at line no. 2582 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1474 at line no. 2583 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1475 at line no. 2584 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1476 at line no. 2585 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2586 is non-static
+
+   1 #STMT 1477 at line no. 2586 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2587 is non-static
+
+   1 #STMT 1478 at line no. 2587 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2588 is non-static
+
+   1 #STMT 1479 at line no. 2588 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2589 is non-static
+
+   1 #STMT 1480 at line no. 2589 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1481 at line no. 2594 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_24 @f90li_1_24   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1482 at line no. 2595 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1483 at line no. 2601 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1484 at line no. 2602 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1485 at line no. 2603 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1486 at line no. 2604 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1487 at line no. 2613 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1488 at line no. 2614 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1489 at line no. 2615 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1490 at line no. 2616 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1491 at line no. 2617 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1492 at line no. 2618 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1493 at line no. 2619 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1494 at line no. 2620 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1495 at line no. 2621 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1496 at line no. 2622 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1497 at line no. 2623 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1498 at line no. 2624 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1499 at line no. 2625 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1500 at line no. 2626 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1501 at line no. 2627 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1502 at line no. 2628 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1503 at line no. 2629 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1504 at line no. 2630 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1505 at line no. 2631 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1506 at line no. 2632 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1507 at line no. 2633 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1508 at line no. 2634 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1509 at line no. 2635 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1510 at line no. 2636 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1511 at line no. 2637 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1512 at line no. 2638 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2639 is non-static
+
+   1 #STMT 1513 at line no. 2639 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2640 is non-static
+
+   1 #STMT 1514 at line no. 2640 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2641 is non-static
+
+   1 #STMT 1515 at line no. 2641 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2642 is non-static
+
+   1 #STMT 1516 at line no. 2642 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2643 is non-static
+
+   1 #STMT 1517 at line no. 2643 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2644 is non-static
+
+   1 #STMT 1518 at line no. 2644 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2645 is non-static
+
+   1 #STMT 1519 at line no. 2645 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2646 is non-static
+
+   1 #STMT 1520 at line no. 2646 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1521 at line no. 2651 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_25 @f90li_1_25   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1522 at line no. 2652 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1523 at line no. 2658 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1524 at line no. 2659 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1525 at line no. 2660 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1526 at line no. 2661 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1527 at line no. 2662 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1528 at line no. 2663 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1529 at line no. 2664 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1530 at line no. 2665 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 32768 
+   0    0    0 
+
+   1 #STMT 1531 at line no. 2673 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1532 at line no. 2674 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1533 at line no. 2675 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1534 at line no. 2676 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1535 at line no. 2677 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1536 at line no. 2678 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1537 at line no. 2679 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1538 at line no. 2680 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1539 at line no. 2681 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1540 at line no. 2682 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1541 at line no. 2683 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1542 at line no. 2684 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1543 at line no. 2685 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1544 at line no. 2686 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1545 at line no. 2687 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1546 at line no. 2688 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1547 at line no. 2690 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1548 at line no. 2691 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1549 at line no. 2692 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1550 at line no. 2693 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1551 at line no. 2694 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1552 at line no. 2695 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1553 at line no. 2696 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1554 at line no. 2697 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1555 at line no. 2698 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1556 at line no. 2699 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1557 at line no. 2700 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1558 at line no. 2701 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1559 at line no. 2702 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1560 at line no. 2703 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1561 at line no. 2704 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1562 at line no. 2705 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1563 at line no. 2706 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1564 at line no. 2707 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1565 at line no. 2708 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1566 at line no. 2709 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1567 at line no. 2710 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1568 at line no. 2711 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1569 at line no. 2712 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1570 at line no. 2713 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1571 at line no. 2714 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1572 at line no. 2715 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1573 at line no. 2716 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1574 at line no. 2717 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1575 at line no. 2719 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1576 at line no. 2720 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1577 at line no. 2721 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1578 at line no. 2722 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1579 at line no. 2723 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1580 at line no. 2724 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1581 at line no. 2725 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1582 at line no. 2726 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1583 at line no. 2727 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1584 at line no. 2728 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1585 at line no. 2729 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1586 at line no. 2730 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1587 at line no. 2731 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1588 at line no. 2732 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1589 at line no. 2733 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1590 at line no. 2734 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1591 at line no. 2735 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1592 at line no. 2736 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1593 at line no. 2737 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1594 at line no. 2738 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1595 at line no. 2739 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1596 at line no. 2740 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1597 at line no. 2741 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1598 at line no. 2742 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1599 at line no. 2744 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1600 at line no. 2745 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2746 is non-static
+
+   1 #STMT 1601 at line no. 2746 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2747 is non-static
+
+   1 #STMT 1602 at line no. 2747 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2748 is non-static
+
+   1 #STMT 1603 at line no. 2748 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2749 is non-static
+
+   1 #STMT 1604 at line no. 2749 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1605 at line no. 2751 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1606 at line no. 2752 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1607 at line no. 2753 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1608 at line no. 2754 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2755 is non-static
+
+   1 #STMT 1609 at line no. 2755 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2756 is non-static
+
+   1 #STMT 1610 at line no. 2756 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2757 is non-static
+
+   1 #STMT 1611 at line no. 2757 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2758 is non-static
+
+   1 #STMT 1612 at line no. 2758 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1613 at line no. 2760 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1614 at line no. 2761 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2762 is non-static
+
+   1 #STMT 1615 at line no. 2762 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2763 is non-static
+
+   1 #STMT 1616 at line no. 2763 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2764 is non-static
+
+   1 #STMT 1617 at line no. 2764 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2765 is non-static
+
+   1 #STMT 1618 at line no. 2765 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1619 at line no. 2767 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1620 at line no. 2768 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1621 at line no. 2769 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1622 at line no. 2770 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2771 is non-static
+
+   1 #STMT 1623 at line no. 2771 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2772 is non-static
+
+   1 #STMT 1624 at line no. 2772 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2773 is non-static
+
+   1 #STMT 1625 at line no. 2773 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2774 is non-static
+
+   1 #STMT 1626 at line no. 2774 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 32768 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1627 at line no. 2779 has 1 domain
+   # Domain 1
+   4 15
+   # @f90li_0_26 @f90li_1_26   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0    7 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -1    0    0    0    0    0    1    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1628 at line no. 2779 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1629 at line no. 2785 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1630 at line no. 2786 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1631 at line no. 2795 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1632 at line no. 2796 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1633 at line no. 2797 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1634 at line no. 2798 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1635 at line no. 2799 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1636 at line no. 2800 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2801 is non-static
+
+   1 #STMT 1637 at line no. 2801 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2802 is non-static
+
+   1 #STMT 1638 at line no. 2802 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2803 is non-static
+
+   1 #STMT 1639 at line no. 2803 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2804 is non-static
+
+   1 #STMT 1640 at line no. 2804 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -4    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1641 at line no. 2809 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1642 at line no. 2815 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1643 at line no. 2816 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1644 at line no. 2817 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1645 at line no. 2818 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1646 at line no. 2827 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1647 at line no. 2828 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1648 at line no. 2829 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1649 at line no. 2830 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1650 at line no. 2831 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1651 at line no. 2832 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1652 at line no. 2833 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1653 at line no. 2834 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1654 at line no. 2835 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1655 at line no. 2836 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1656 at line no. 2837 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1657 at line no. 2838 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1658 at line no. 2839 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1659 at line no. 2840 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1660 at line no. 2841 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1661 at line no. 2842 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1662 at line no. 2843 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1663 at line no. 2844 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1664 at line no. 2845 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1665 at line no. 2846 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1666 at line no. 2847 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1667 at line no. 2848 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1668 at line no. 2849 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1669 at line no. 2850 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1670 at line no. 2851 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1671 at line no. 2852 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2853 is non-static
+
+   1 #STMT 1672 at line no. 2853 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2854 is non-static
+
+   1 #STMT 1673 at line no. 2854 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2855 is non-static
+
+   1 #STMT 1674 at line no. 2855 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2856 is non-static
+
+   1 #STMT 1675 at line no. 2856 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2857 is non-static
+
+   1 #STMT 1676 at line no. 2857 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2858 is non-static
+
+   1 #STMT 1677 at line no. 2858 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2859 is non-static
+
+   1 #STMT 1678 at line no. 2859 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2860 is non-static
+
+   1 #STMT 1679 at line no. 2860 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0   -8    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1680 at line no. 2865 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1681 at line no. 2871 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1682 at line no. 2872 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1683 at line no. 2873 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1684 at line no. 2874 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1685 at line no. 2875 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1686 at line no. 2876 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1687 at line no. 2877 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1688 at line no. 2878 has 1 domain
+   # Domain 1
+   2 14
+   #    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0 262144 
+   0    0    0 
+
+   1 #STMT 1689 at line no. 2886 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1690 at line no. 2887 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1691 at line no. 2888 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1692 at line no. 2889 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1693 at line no. 2890 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1694 at line no. 2891 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1695 at line no. 2892 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1696 at line no. 2893 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1697 at line no. 2894 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1698 at line no. 2895 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1699 at line no. 2896 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1700 at line no. 2897 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1701 at line no. 2898 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1702 at line no. 2899 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1703 at line no. 2900 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1704 at line no. 2901 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1705 at line no. 2903 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1706 at line no. 2904 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1707 at line no. 2905 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1708 at line no. 2906 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1709 at line no. 2907 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1710 at line no. 2908 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1711 at line no. 2909 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1712 at line no. 2910 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1713 at line no. 2911 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1714 at line no. 2912 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1715 at line no. 2913 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1716 at line no. 2914 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1717 at line no. 2915 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1718 at line no. 2916 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1719 at line no. 2917 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1720 at line no. 2918 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1721 at line no. 2919 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1722 at line no. 2920 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1723 at line no. 2921 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1724 at line no. 2922 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1725 at line no. 2923 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1726 at line no. 2924 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1727 at line no. 2925 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1728 at line no. 2926 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1729 at line no. 2927 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1730 at line no. 2928 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1731 at line no. 2929 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1732 at line no. 2930 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1733 at line no. 2932 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1734 at line no. 2933 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1735 at line no. 2934 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1736 at line no. 2935 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1737 at line no. 2936 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1738 at line no. 2937 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1739 at line no. 2938 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1740 at line no. 2939 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1741 at line no. 2940 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1742 at line no. 2941 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1743 at line no. 2942 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1744 at line no. 2943 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1745 at line no. 2944 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1746 at line no. 2945 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1747 at line no. 2946 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1748 at line no. 2947 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1749 at line no. 2948 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1750 at line no. 2949 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1751 at line no. 2950 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1752 at line no. 2951 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1753 at line no. 2952 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1754 at line no. 2953 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1755 at line no. 2954 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1756 at line no. 2955 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1757 at line no. 2957 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1758 at line no. 2958 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2959 is non-static
+
+   1 #STMT 1759 at line no. 2959 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2960 is non-static
+
+   1 #STMT 1760 at line no. 2960 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2961 is non-static
+
+   1 #STMT 1761 at line no. 2961 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2962 is non-static
+
+   1 #STMT 1762 at line no. 2962 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1763 at line no. 2964 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1764 at line no. 2965 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1765 at line no. 2966 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1766 at line no. 2967 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2968 is non-static
+
+   1 #STMT 1767 at line no. 2968 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2969 is non-static
+
+   1 #STMT 1768 at line no. 2969 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2970 is non-static
+
+   1 #STMT 1769 at line no. 2970 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2971 is non-static
+
+   1 #STMT 1770 at line no. 2971 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1771 at line no. 2973 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1772 at line no. 2974 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2975 is non-static
+
+   1 #STMT 1773 at line no. 2975 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2976 is non-static
+
+   1 #STMT 1774 at line no. 2976 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2977 is non-static
+
+   1 #STMT 1775 at line no. 2977 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2978 is non-static
+
+   1 #STMT 1776 at line no. 2978 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1777 at line no. 2980 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1778 at line no. 2981 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1779 at line no. 2982 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1780 at line no. 2983 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2984 is non-static
+
+   1 #STMT 1781 at line no. 2984 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2985 is non-static
+
+   1 #STMT 1782 at line no. 2985 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2986 is non-static
+
+   1 #STMT 1783 at line no. 2986 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+   #The array reference in the statement at line no. 2987 is non-static
+
+   1 #STMT 1784 at line no. 2987 has 1 domain
+   # Domain 1
+   4 15
+   #    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   1    1    0    0    0    0    0    0    0    0    0    0    0    0    1 
+   1   -1    0    0    0    0    0    0    0    0    0    0    0    0 262144 
+   1    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+   1    0  -16    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 #STMT 1785 at line no. 2992 has 1 domain
+   # Domain 1
+   1 13
+   #   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0 
+
+   1 # Set Iterator Names
+   J @f90li_0_13 @f90li_0_14    M @f90li_0_15 @f90li_0_16 .do_ivar @f90li_0_17 @f90li_1_17 @f90li_0_18 @f90li_1_18 @f90li_0_19 @f90li_1_19 @f90li_0_20 @f90li_1_20 @f90li_0_21 @f90li_1_21 @f90li_0_22 @f90li_1_22 @f90li_0_23 @f90li_1_23 @f90li_0_24 @f90li_1_24 @f90li_0_25 @f90li_1_25 @f90li_0_26 @f90li_1_26     #Iterator Names
+
+#---------------------SCATTERING FUNCTIONS--------------------
+1785 #Scattering functions
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.681
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.682
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.683
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.684
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.686
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.686
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.686
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.687
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.688
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.688
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.698
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.699
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.700
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.702
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.703
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.704
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.708
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.709
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.712
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.713
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.717
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.719
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.724
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.725
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.728
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.729
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.730
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.731
+   5 19
+   #   p0   p1   p2   p3   p4 @f90li_0_13   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.732
+   5 19
+   #   p0   p1   p2   p3   p4 @f90li_0_14   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.733
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.735
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.736
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.737
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.738
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.739
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.740
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.741
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.742
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.743
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.0
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.746
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.752
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.753
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.754
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.755
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.757
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.758
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.759
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.764
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.765
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.766
+   5 19
+   #   p0   p1   p2   p3   p4 @f90li_0_15   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.767
+   5 19
+   #   p0   p1   p2   p3   p4 @f90li_0_16   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.768
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.770
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.771
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.772
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.773
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.774
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.775
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.796
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.797
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.798
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.799
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.800
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.801
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.802
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.803
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.804
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.805
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.806
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.807
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.808
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.809
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.810
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.811
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.813
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.814
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.815
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.816
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.817
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.818
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.819
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.820
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.821
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.822
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.823
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.824
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.825
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.826
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.827
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.828
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.829
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.830
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.831
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.832
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.833
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.834
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.835
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.836
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.838
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.839
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.840
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.842
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.843
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.844
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.845
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.846
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.847
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.848
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.849
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.851
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.852
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.853
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.855
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.856
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.857
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.858
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.859
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.860
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.861
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.862
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.864
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.865
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.866
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.867
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.869
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.870
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.871
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.872
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.873
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.874
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.876
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.877
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.878
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.879
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.881
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.882
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.883
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.884
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.885
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.886
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.894
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.895
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.896
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.897
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.898
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.899
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.900
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.901
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.909
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.910
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.911
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.912
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.913
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.914
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.915
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.916
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.917
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.918
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.919
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.920
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.921
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.922
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.923
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.924
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.926
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.927
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.928
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.929
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.930
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.931
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.932
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.933
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.934
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.935
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.936
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.937
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.938
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.939
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.940
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.941
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.942
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.943
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.944
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.945
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.946
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.947
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.948
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.949
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.950
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.951
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.952
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.953
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.955
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.956
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.957
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.958
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.959
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.960
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.961
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.962
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.963
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.964
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.965
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.966
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.967
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.968
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.969
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.970
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.971
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.972
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.973
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.974
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.975
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.976
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.977
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.978
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.980
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.981
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.982
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.983
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.984
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.985
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.987
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.988
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.989
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.990
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.991
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.992
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.993
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.994
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.996
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.997
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.998
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.999
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.1000
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.1001
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.1003
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.1004
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.1005
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.1006
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.1007
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.1008
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.1009
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.1010
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.1015
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_17 @f90li_1_17   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1021
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1022
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1023
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1024
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1025
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1026
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1027
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1028
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1036
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1037
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1038
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1039
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1040
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1041
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1042
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1043
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1044
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1045
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1046
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1047
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1048
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1049
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1050
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1051
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1053
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1054
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1055
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1056
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1057
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1058
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1059
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1060
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1061
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1062
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1063
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1064
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1065
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1066
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1067
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1068
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1069
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1070
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1071
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1072
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1073
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1074
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1075
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1076
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1077
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1078
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1079
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1080
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1082
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1083
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1084
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1085
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1086
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1087
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1088
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1089
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1090
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1091
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1092
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1093
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1094
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1095
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1096
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1097
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1098
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1099
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1100
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1101
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1102
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1103
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1104
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1105
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1107
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1108
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1109
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1110
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1111
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1112
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1114
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1115
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1116
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1117
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1118
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1119
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1120
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1121
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1123
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1124
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1125
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1126
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1127
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1128
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1130
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1131
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1132
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1133
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1134
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1135
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1136
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1137
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1148
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1149
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1150
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1151
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1152
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1153
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1154
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1155
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1163
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1164
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1165
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1166
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1167
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1168
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1169
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1170
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1171
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1172
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1173
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1174
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1175
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1176
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1177
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1178
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1180
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1181
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1182
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1183
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1184
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1185
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1186
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1187
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1188
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1189
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1190
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1191
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1192
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1193
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1194
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1195
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1196
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1197
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1198
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1199
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1200
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1201
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1202
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1203
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1204
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1205
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1206
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1207
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1209
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1210
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1211
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1212
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1213
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1214
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1215
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1216
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1217
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1218
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1219
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1220
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1221
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1222
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1223
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1224
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1225
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1226
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1227
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1228
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1229
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1230
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1231
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1232
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1234
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1235
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1236
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1237
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1238
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1239
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1241
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1242
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1243
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1244
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1245
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1246
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1247
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1248
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1250
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1251
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1252
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1253
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1254
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1255
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1257
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1258
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1259
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1260
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1261
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1262
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1263
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1264
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1269
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_18 @f90li_1_18   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1275
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1276
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1277
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1278
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1279
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1280
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1281
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1282
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1290
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1291
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1292
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1293
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1294
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1295
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1296
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1297
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1298
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1299
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1300
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1301
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1302
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1303
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1304
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1305
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1307
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1308
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1309
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1310
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1311
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1312
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1313
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1314
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1315
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1316
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1317
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1318
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1319
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1320
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1321
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1322
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1323
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1324
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1325
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1326
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1327
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1328
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1329
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1330
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1331
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1332
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1333
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1334
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1336
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1337
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1338
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1339
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1340
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1341
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1342
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1343
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1344
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1345
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1346
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1347
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1348
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1349
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1350
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1351
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1352
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1353
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1354
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1355
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1356
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1357
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1358
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1359
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1361
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1362
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1363
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1364
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1365
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1366
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1368
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1369
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1370
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1371
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1372
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1373
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1374
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1375
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1377
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1378
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1379
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1380
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1381
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1382
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1384
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1385
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1386
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1387
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1388
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1389
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1390
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1391
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1402
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1403
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1412
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1413
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1414
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1415
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1416
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1417
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1418
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1419
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1420
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1421
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1426
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_19 @f90li_1_19   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1433
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1434
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1435
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1436
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1445
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1446
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1447
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1448
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1449
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1450
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1451
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1452
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1453
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1454
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1455
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1456
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1457
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1458
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1459
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1460
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1461
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1462
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1463
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1464
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1465
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1466
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1467
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1468
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1469
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1470
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1471
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1472
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1473
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1474
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1475
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1476
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1477
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1478
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1483
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_20 @f90li_1_20   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1490
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1491
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1492
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1493
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1494
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1495
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1496
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1497
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1505
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1506
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1507
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1508
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1509
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1510
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1511
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1512
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1513
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1514
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1515
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1516
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1517
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1518
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1519
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1520
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1522
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1523
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1524
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1525
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1526
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1527
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1528
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1529
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1530
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1531
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1532
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1533
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1534
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1535
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1536
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1537
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1538
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1539
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1540
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1541
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1542
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1543
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1544
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1545
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1546
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1547
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1548
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1549
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1551
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1552
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1553
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1554
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1555
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1556
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1557
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1558
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1559
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1560
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1561
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1562
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1563
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1564
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1565
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1566
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1567
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1568
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1569
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1570
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1571
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1572
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1573
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1574
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1576
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1577
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1578
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1579
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1580
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1581
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1583
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1584
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1585
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1586
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1587
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1588
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1589
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1590
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1592
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1593
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1594
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1595
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1596
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1597
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1599
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1600
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1601
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1602
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1603
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1604
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1605
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1606
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1611
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_21 @f90li_1_21   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1617
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1618
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1627
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1628
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1629
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1630
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1631
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1632
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1633
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1634
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1635
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1636
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1647
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1648
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1649
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1650
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1659
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1660
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1661
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1662
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1663
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1664
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1665
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1666
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1667
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1668
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1669
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1670
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1671
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1672
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1673
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1674
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1675
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1676
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1677
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1678
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1679
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1680
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1681
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1682
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1683
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1684
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1685
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1686
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1687
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1688
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1689
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1690
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1691
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1692
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1703
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1704
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1705
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1706
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1707
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1708
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1709
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1710
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1718
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1719
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1720
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1721
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1722
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1723
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1724
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1725
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1726
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1727
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1728
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1729
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1730
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1731
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1732
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1733
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1735
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1736
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1737
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1738
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1739
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1740
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1741
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1742
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1743
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1744
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1745
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1746
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1747
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1748
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1749
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1750
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1751
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1752
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1753
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1754
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1755
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1756
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1757
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1758
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1759
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1760
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1761
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1762
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1764
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1765
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1766
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1767
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1768
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1769
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1770
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1771
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1772
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1773
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1774
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1775
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1776
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1777
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1778
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1779
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1780
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1781
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1782
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1783
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1784
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1785
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1786
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1787
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1789
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1790
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1791
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1792
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1793
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1794
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1796
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1797
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1798
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1799
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1800
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1801
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1802
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1803
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1805
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1806
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1807
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1808
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1809
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1810
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1812
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1813
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1814
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1815
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1816
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1817
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1818
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1819
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1863
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1865
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1866
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1868
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1869
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1875
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1876
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1877
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1878
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1879
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1880
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1892
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1893
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1904
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1905
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1906
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1907
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1910
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1911
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1912
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1913
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1916
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1917
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1920
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1921
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1924
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1924
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1924
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1925
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1925
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1925
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1928
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1929
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1931
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1932
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1935
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1936
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1938
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1939
+   5 19
+   #   p0   p1   p2   p3   p4    J   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1943
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1943
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1944
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1944
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1945
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1946
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1964
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1965
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1966
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1967
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1968
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1969
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1970
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1971
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1972
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1973
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1974
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1975
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1976
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1977
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1978
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1979
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1981
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1982
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1983
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1984
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1985
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1986
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1987
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1988
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1989
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1990
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1991
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1992
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1993
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1994
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1995
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1996
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1997
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1998
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.1999
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2000
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2001
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2002
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2003
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2004
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2006
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2007
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2008
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2010
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2011
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2012
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2013
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2014
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2015
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2016
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2017
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2019
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2020
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2021
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2023
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2024
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2025
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2026
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2027
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2028
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2029
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2030
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2032
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2033
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2034
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2035
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2037
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2038
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2039
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2040
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2041
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2042
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2044
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2045
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2046
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2047
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2049
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2050
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2051
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2052
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2053
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2054
+   5 19
+   #   p0   p1   p2   p3   p4 .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2056
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2062
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2063
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2064
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2065
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2066
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2067
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2068
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2069
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2077
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2078
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2079
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2080
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2081
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2082
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2083
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2084
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2085
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2086
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2087
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2088
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2089
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2090
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2091
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2092
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2094
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2095
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2096
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2097
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2098
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2099
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2100
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2101
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2102
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2103
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2104
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2105
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2106
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2107
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2108
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2109
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2110
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2111
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2112
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2113
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2114
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2115
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2116
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2117
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2118
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2119
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2120
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2121
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2123
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2124
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2125
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2126
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2127
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2128
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2129
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2130
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2131
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2132
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2133
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2134
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2135
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2136
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2137
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2138
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2139
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2140
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2141
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2142
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2143
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2144
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2145
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2146
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2148
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2149
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2150
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2151
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2152
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2153
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2155
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2156
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2157
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2158
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2159
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2160
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2161
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2162
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2164
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2165
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2166
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2167
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2168
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2169
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2171
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2172
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2173
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2174
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2175
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2176
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2177
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2178
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2183
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_22 @f90li_1_22   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2183
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -96 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2189
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2190
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2191
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2192
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2193
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2194
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2195
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2196
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2204
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2205
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2206
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2207
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2208
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2209
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2210
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2211
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2212
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2213
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2214
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2215
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2216
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2217
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2218
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2219
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2221
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2222
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2223
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2224
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2225
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2226
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2227
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2228
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2229
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2230
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2231
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2232
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2233
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2234
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2235
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2236
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2237
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2238
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2239
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2240
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2241
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2242
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2243
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2244
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2245
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2246
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2247
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2248
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2250
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2251
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2252
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2253
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2254
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2255
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2256
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2257
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2258
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2259
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2260
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2261
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2262
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2263
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2264
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2265
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2266
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2267
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2268
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2269
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2270
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2271
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2272
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2273
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2275
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2276
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2277
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2278
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2279
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2280
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2282
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2283
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2284
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2285
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2286
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2287
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2288
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2289
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2291
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2292
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2293
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2294
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2295
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2296
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2298
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2299
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2300
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2301
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2302
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2303
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2304
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2305
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -97 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2310
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -98 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2316
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2317
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2318
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2319
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2320
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2321
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2322
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2323
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2331
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2332
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2333
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2334
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2335
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2336
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2337
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2338
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2339
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2340
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2341
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2342
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2343
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2344
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2345
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2346
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2348
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2349
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2350
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2351
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2352
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2353
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2354
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2355
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2356
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2357
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2358
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2359
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2360
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2361
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2362
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2363
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2364
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2365
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2366
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2367
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2368
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2369
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2370
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2371
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2372
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2373
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2374
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2375
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2377
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2378
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2379
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2380
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2381
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2382
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2383
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2384
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2385
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2386
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2387
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2388
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2389
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2390
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2391
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2392
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2393
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2394
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2395
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2396
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2397
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2398
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2399
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2400
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2402
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2403
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2404
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2405
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2406
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2407
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2409
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2410
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2411
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2412
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2413
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2414
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2415
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2416
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2418
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2419
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2420
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2421
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2422
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2423
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2425
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2426
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2427
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2428
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2429
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2430
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2431
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2432
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0  -99 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2437
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_23 @f90li_1_23   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -100 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2437
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -101 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2443
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2444
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2445
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2446
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2447
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2448
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2449
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2450
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2458
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2459
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2460
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2461
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2462
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2463
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2464
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2465
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2466
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2467
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2468
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2469
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2470
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2471
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2472
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2473
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2475
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2476
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2477
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2478
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2479
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2480
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2481
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2482
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2483
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2484
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2485
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2486
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2487
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2488
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2489
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2490
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2491
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2492
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2493
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2494
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2495
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2496
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2497
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2498
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2499
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2500
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2501
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2502
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2504
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2505
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2506
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2507
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2508
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2509
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2510
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2511
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2512
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2513
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2514
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2515
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2516
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2517
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2518
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2519
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2520
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2521
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2522
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2523
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2524
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2525
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2526
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2527
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2529
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2530
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2531
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2532
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2533
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2534
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2536
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2537
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2538
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2539
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2540
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2541
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2542
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2543
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2545
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2546
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2547
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2548
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2549
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2550
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2552
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2553
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2554
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2555
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2556
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2557
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2558
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2559
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -102 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2564
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -103 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2570
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2571
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2580
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2581
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2582
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2583
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2584
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2585
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2586
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2587
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2588
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2589
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -104 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2594
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_24 @f90li_1_24   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -105 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2595
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -106 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2601
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2602
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2603
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2604
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2613
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2614
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2615
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2616
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2617
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2618
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2619
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2620
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2621
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2622
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2623
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2624
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2625
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2626
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2627
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2628
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2629
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2630
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2631
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2632
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2633
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2634
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2635
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2636
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2637
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2638
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2639
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2640
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2641
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2642
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2643
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2644
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2645
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2646
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -107 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2651
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_25 @f90li_1_25   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -108 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2652
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -109 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2658
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2659
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2660
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2661
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2662
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2663
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2664
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2665
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2673
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2674
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2675
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2676
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2677
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2678
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2679
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2680
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2681
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2682
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2683
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2684
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2685
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2686
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2687
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2688
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2690
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2691
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2692
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2693
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2694
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2695
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2696
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2697
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2698
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2699
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2700
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2701
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2702
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2703
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2704
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2705
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2706
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2707
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2708
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2709
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2710
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2711
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2712
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2713
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2714
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2715
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2716
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2717
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2719
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2720
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2721
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2722
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2723
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2724
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2725
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2726
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2727
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2728
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2729
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2730
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2731
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2732
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2733
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2734
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2735
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2736
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2737
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2738
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2739
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2740
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2741
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2742
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2744
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2745
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2746
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2747
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2748
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2749
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2751
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2752
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2753
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2754
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2755
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2756
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2757
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2758
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2760
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2761
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2762
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2763
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2764
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2765
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2767
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2768
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2769
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2770
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2771
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2772
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2773
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2774
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -110 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2779
+   5 20
+   #   p0   p1   p2   p3   p4 @f90li_0_26 @f90li_1_26   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -111 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2779
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -112 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2785
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2786
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2795
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2796
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2797
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2798
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2799
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2800
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2801
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2802
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2803
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2804
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -113 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2809
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -114 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2815
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2816
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2817
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2818
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2827
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2828
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2829
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2830
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2831
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2832
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2833
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2834
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2835
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2836
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2837
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2838
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2839
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2840
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2841
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2842
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2843
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2844
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2845
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2846
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2847
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2848
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2849
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2850
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2851
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2852
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2853
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2854
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2855
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2856
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2857
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2858
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2859
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2860
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -115 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2865
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -116 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2871
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2872
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2873
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2874
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2875
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2876
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2877
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2878
+   5 19
+   #   p0   p1   p2   p3   p4    M   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2886
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+
+# Scattering Matrix for stmt at line no.2887
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -1 
+
+# Scattering Matrix for stmt at line no.2888
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -2 
+
+# Scattering Matrix for stmt at line no.2889
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -3 
+
+# Scattering Matrix for stmt at line no.2890
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -4 
+
+# Scattering Matrix for stmt at line no.2891
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -5 
+
+# Scattering Matrix for stmt at line no.2892
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -6 
+
+# Scattering Matrix for stmt at line no.2893
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -7 
+
+# Scattering Matrix for stmt at line no.2894
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+
+# Scattering Matrix for stmt at line no.2895
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0   -9 
+
+# Scattering Matrix for stmt at line no.2896
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -10 
+
+# Scattering Matrix for stmt at line no.2897
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -11 
+
+# Scattering Matrix for stmt at line no.2898
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -12 
+
+# Scattering Matrix for stmt at line no.2899
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -13 
+
+# Scattering Matrix for stmt at line no.2900
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -14 
+
+# Scattering Matrix for stmt at line no.2901
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -15 
+
+# Scattering Matrix for stmt at line no.2903
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -16 
+
+# Scattering Matrix for stmt at line no.2904
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -17 
+
+# Scattering Matrix for stmt at line no.2905
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -18 
+
+# Scattering Matrix for stmt at line no.2906
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -19 
+
+# Scattering Matrix for stmt at line no.2907
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -20 
+
+# Scattering Matrix for stmt at line no.2908
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -21 
+
+# Scattering Matrix for stmt at line no.2909
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -22 
+
+# Scattering Matrix for stmt at line no.2910
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -23 
+
+# Scattering Matrix for stmt at line no.2911
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -24 
+
+# Scattering Matrix for stmt at line no.2912
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -25 
+
+# Scattering Matrix for stmt at line no.2913
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -26 
+
+# Scattering Matrix for stmt at line no.2914
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -27 
+
+# Scattering Matrix for stmt at line no.2915
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -28 
+
+# Scattering Matrix for stmt at line no.2916
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -29 
+
+# Scattering Matrix for stmt at line no.2917
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -30 
+
+# Scattering Matrix for stmt at line no.2918
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -31 
+
+# Scattering Matrix for stmt at line no.2919
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -32 
+
+# Scattering Matrix for stmt at line no.2920
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -33 
+
+# Scattering Matrix for stmt at line no.2921
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -34 
+
+# Scattering Matrix for stmt at line no.2922
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -35 
+
+# Scattering Matrix for stmt at line no.2923
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -36 
+
+# Scattering Matrix for stmt at line no.2924
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -37 
+
+# Scattering Matrix for stmt at line no.2925
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -38 
+
+# Scattering Matrix for stmt at line no.2926
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -39 
+
+# Scattering Matrix for stmt at line no.2927
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -40 
+
+# Scattering Matrix for stmt at line no.2928
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -41 
+
+# Scattering Matrix for stmt at line no.2929
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -42 
+
+# Scattering Matrix for stmt at line no.2930
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -43 
+
+# Scattering Matrix for stmt at line no.2932
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -44 
+
+# Scattering Matrix for stmt at line no.2933
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -45 
+
+# Scattering Matrix for stmt at line no.2934
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -46 
+
+# Scattering Matrix for stmt at line no.2935
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -47 
+
+# Scattering Matrix for stmt at line no.2936
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -48 
+
+# Scattering Matrix for stmt at line no.2937
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -49 
+
+# Scattering Matrix for stmt at line no.2938
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -50 
+
+# Scattering Matrix for stmt at line no.2939
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -51 
+
+# Scattering Matrix for stmt at line no.2940
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -52 
+
+# Scattering Matrix for stmt at line no.2941
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -53 
+
+# Scattering Matrix for stmt at line no.2942
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -54 
+
+# Scattering Matrix for stmt at line no.2943
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -55 
+
+# Scattering Matrix for stmt at line no.2944
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -56 
+
+# Scattering Matrix for stmt at line no.2945
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -57 
+
+# Scattering Matrix for stmt at line no.2946
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -58 
+
+# Scattering Matrix for stmt at line no.2947
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -59 
+
+# Scattering Matrix for stmt at line no.2948
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -60 
+
+# Scattering Matrix for stmt at line no.2949
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -61 
+
+# Scattering Matrix for stmt at line no.2950
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -62 
+
+# Scattering Matrix for stmt at line no.2951
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -63 
+
+# Scattering Matrix for stmt at line no.2952
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -64 
+
+# Scattering Matrix for stmt at line no.2953
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -65 
+
+# Scattering Matrix for stmt at line no.2954
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -66 
+
+# Scattering Matrix for stmt at line no.2955
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -67 
+
+# Scattering Matrix for stmt at line no.2957
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -68 
+
+# Scattering Matrix for stmt at line no.2958
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -69 
+
+# Scattering Matrix for stmt at line no.2959
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -70 
+
+# Scattering Matrix for stmt at line no.2960
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -71 
+
+# Scattering Matrix for stmt at line no.2961
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -72 
+
+# Scattering Matrix for stmt at line no.2962
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -73 
+
+# Scattering Matrix for stmt at line no.2964
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -74 
+
+# Scattering Matrix for stmt at line no.2965
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -75 
+
+# Scattering Matrix for stmt at line no.2966
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -76 
+
+# Scattering Matrix for stmt at line no.2967
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -77 
+
+# Scattering Matrix for stmt at line no.2968
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -78 
+
+# Scattering Matrix for stmt at line no.2969
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -79 
+
+# Scattering Matrix for stmt at line no.2970
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -80 
+
+# Scattering Matrix for stmt at line no.2971
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -81 
+
+# Scattering Matrix for stmt at line no.2973
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -82 
+
+# Scattering Matrix for stmt at line no.2974
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -83 
+
+# Scattering Matrix for stmt at line no.2975
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -84 
+
+# Scattering Matrix for stmt at line no.2976
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -85 
+
+# Scattering Matrix for stmt at line no.2977
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -86 
+
+# Scattering Matrix for stmt at line no.2978
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -87 
+
+# Scattering Matrix for stmt at line no.2980
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -88 
+
+# Scattering Matrix for stmt at line no.2981
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -89 
+
+# Scattering Matrix for stmt at line no.2982
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -90 
+
+# Scattering Matrix for stmt at line no.2983
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -91 
+
+# Scattering Matrix for stmt at line no.2984
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -92 
+
+# Scattering Matrix for stmt at line no.2985
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -93 
+
+# Scattering Matrix for stmt at line no.2986
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -94 
+
+# Scattering Matrix for stmt at line no.2987
+   5 20
+   #   p0   p1   p2   p3   p4    M .do_ivar   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -117 
+   0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -8 
+   0    0    0    0    1    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0  -95 
+
+# Scattering Matrix for stmt at line no.2992
+   5 18
+   #   p0   p1   p2   p3   p4   N4    J   MM   N8    N t$70 N8BIT   K1   K2   K3   K4    1 
+   0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 -118 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0 
+   0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0 
+
+   1 # Set manually the scattering dimension names
+  p0   p1   p2   p3   p4       #Scattering dimension names
diff --git a/test/challenges/motionek1945.cloog b/test/challenges/motionek1945.cloog
new file mode 100644 (file)
index 0000000..da5d24a
--- /dev/null
@@ -0,0 +1,178 @@
+# example that needs 1945 rays !
+c
+
+0 2
+0
+
+6
+
+1
+21 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+0 0 0
+
+1
+25 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -1 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 
+1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+0 0 0
+
+1
+21 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 -2 
+0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0
+
+1
+25 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 30 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 5 
+1 0 0 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 38 
+1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+1 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 5 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+0 0 0
+
+1
+27 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -1 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+1 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 30 
+1 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 5 
+1 0 0 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 5 
+1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 
+1 0 0 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 38 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 1 
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0
+
+1
+25 19
+0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -1 
+0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 -2 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
+1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 
+1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 
+1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 
+1 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 
+1 0 0 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 38 
+1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 
+1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
+1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 3 
+1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 3 
+1 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 5 
+1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 
+1 0 -4 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 30 
+1 0 0 0 4 0 0 0 1 0 0 0 0 0 0 0 0 0 5 
+0 0 0
+0
+
+0
diff --git a/test/challenges/test2.N.cloog b/test/challenges/test2.N.cloog
new file mode 100644 (file)
index 0000000..4903738
--- /dev/null
@@ -0,0 +1,280 @@
+\r
+\r
+#-------------------CONTEXT------------------------\r
+   c # language is c\r
+   1 # Context (no constarints on parameters)\r
+   1 4         # 1 lines and 3 coloumns\r
+   #   i m  1\r
+   1   0  0 0\r
+\r
+   1 # We want to set manually the parameter names\r
+   i m # parameter names\r
+\r
+#---------------------STATEMENTS--------------------\r
+   5 #Number of Statements\r
+\r
+   3 #STMT 1 at line no. 18 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k  i   m   1\r
+   1      0   0   0   0  0\r
+   1      0   0   0  0   0\r
+   1      1   0   0  0   0\r
+   1     -1   0  0   0   7\r
+   1      0   1  0   0   0\r
+   1      1  -2   1  0   0\r
+   1    0  -1  0   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   3 #STMT 2 at line no. 19 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0  -1   0   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2   1  0   0\r
+   1      0   2   0  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   3 #STMT 2 at line no. 19 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0  -1   0   0   3\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2   1  0   0\r
+   1      0   2   0  -3   0\r
+\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   2 #STMT 4 at line no. 23 has 2 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2    1  0   0\r
+   1      0   1   0   0  -4\r
+\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2   1   0   0\r
+   1      0  -2    0  6  -1\r
+   0   0   0\r
+\r
+   1 #STMT 5 at line no. 25 has 1 domain\r
+   # Domain 1\r
+   4 5\r
+   #      j    i   m   1\r
+   1      0    0   0   0\r
+   1      0    0   0   0\r
+   1      1    0   0   0\r
+   1     -1    0   0   7\r
+   0   0   0\r
+   #enclosing loop of statement at line no. 27 is non static\r
+\r
+   1 # Set Iterator Names\r
+      j   k    #Iterator Names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -1\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -2\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -3\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   4 9\r
+   #  p0  p1  p2  p3     j   i   m   1\r
+   0   1   0   0   0     0   0   0  -3\r
+   0   0   1   0   0     0  -2   0   0\r
+   0   0   0   1   0    -2   0   0  -1\r
+   0   0   0   0   1     0   0   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2  p3       #Scattering dimension names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   3 8\r
+   #  p0  p1  p2      j   i   m   1\r
+   0   1   0   0        0   0   0  -3\r
+   0   0   1   0        0  -2   0   0\r
+   0   0   0   1       -2   0   0  -1\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2  p3       #Scattering dimension names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0     0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1        0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   2 7\r
+   #  p0  p1  p2  p3     j   i   m   1\r
+   0   1   0       0   0   0  -3\r
+   0   0   1       0  -2   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1       #Scattering dimension names\r
diff --git a/test/challenges/test3.N.cloog b/test/challenges/test3.N.cloog
new file mode 100644 (file)
index 0000000..f5fe704
--- /dev/null
@@ -0,0 +1,350 @@
+\r
+\r
+#-------------------CONTEXT------------------------\r
+   c # language is c\r
+   1 # Context (no constarints on parameters)\r
+   1 4         # 1 lines and 3 coloumns\r
+   #   i m  1\r
+   1   0  0 0\r
+\r
+   1 # We want to set manually the parameter names\r
+   i m # parameter names\r
+\r
+#---------------------STATEMENTS--------------------\r
+   12 #Number of Statements\r
+\r
+   1 #STMT 1 at line no. 18 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k  i   m   1\r
+   1      0   0   0   0  0\r
+   1      0   0   0  0   0\r
+   1      1   0   0  0   0\r
+   1     -1   0  0   0   7\r
+   1      0   1  0   0   0\r
+   1      1  -2   1  0   0\r
+   1    0  -1  0   0   3\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -3   0\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   1 #STMT 2 at line no. 19 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0  -1   0   0   3\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2   1  0   0\r
+   1      0   2   0  -3   0\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   1 #STMT 2 at line no. 19 has 3 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2  1   0   0\r
+   1      0  -1   0   0   3\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2   1  0   0\r
+   1      0   2   0  -3   0\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 3\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2  1   0   0\r
+   1      0   2   0  -2  -8\r
+   0   0   0\r
+\r
+   1 #STMT 4 at line no. 23 has 2 domain\r
+   # Domain 1\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0   0   0   7\r
+   1      0   1   0   0   0\r
+   1      1  -2    1  0   0\r
+   1      0   1   0   0  -4\r
+   0   0   0\r
+\r
+   1\r
+   # Domain 2\r
+   7 6\r
+   #   i   j   k   m   1\r
+   1      0   0   0   0   0\r
+   1      0   0   0   0   0\r
+   1      1   0   0   0   0\r
+   1     -1   0    0  0   7\r
+   1      0   1    0  0   0\r
+   1      1  -2   1   0   0\r
+   1      0  -2    0  6  -1\r
+   0   0   0\r
+\r
+   1 #STMT 5 at line no. 25 has 1 domain\r
+   # Domain 1\r
+   4 5\r
+   #      j    i   m   1\r
+   1      0    0   0   0\r
+   1      0    0   0   0\r
+   1      1    0   0   0\r
+   1     -1    0   0   7\r
+   0   0   0\r
+   #enclosing loop of statement at line no. 27 is non static\r
+\r
+   1 # Set Iterator Names\r
+      j   k    #Iterator Names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   12 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -1\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -1\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -1\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -2\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -2\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -2\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -3\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   4 10\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0   0     0   0   0   0  -3\r
+   0   0   1   0   0     0   0  -2   0   0\r
+   0   0   0   1   0    -2   0   0   0   0\r
+   0   0   0   0   1     0  -4   0   0  -3\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   4 9\r
+   #  p0  p1  p2  p3     j   i   m   1\r
+   0   1   0   0   0     0   0   0  -3\r
+   0   0   1   0   0     0  -2   0   0\r
+   0   0   0   1   0    -2   0   0  -1\r
+   0   0   0   0   1     0   0   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2  p3       #Scattering dimension names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   3 9\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0   0        0   0   0   0  -3\r
+   0   0   1   0        0   0  -2   0   0\r
+   0   0   0   1       -2   0   0   0   0\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   3 8\r
+   #  p0  p1  p2      j   i   m   1\r
+   0   1   0   0        0   0   0  -3\r
+   0   0   1   0        0  -2   0   0\r
+   0   0   0   1       -2   0   0  -1\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2  p3       #Scattering dimension names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   5 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.18\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0     0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.19\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1      0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.23\r
+   2 8\r
+   #  p0  p1  p2  p3     j   k   i   m   1\r
+   0   1   0      0   0   0   0  -3\r
+   0   0   1        0   0  -2   0   0\r
+\r
+# Scattering Matrix for stmt at line no.25\r
+   2 7\r
+   #  p0  p1  p2  p3     j   i   m   1\r
+   0   1   0       0   0   0  -3\r
+   0   0   1       0  -2   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1       #Scattering dimension names\r
diff --git a/test/cholesau_allocation.cloog b/test/cholesau_allocation.cloog
new file mode 100644 (file)
index 0000000..2f831d8
--- /dev/null
@@ -0,0 +1,254 @@
+#         program cholesau
+#
+#        integer i, j, k,l,n
+#        real a(10,10),s1(10,10),s2(10),s3(10,10,10),s4(10,10)
+#
+#         do i=1,n
+#              do j =1,i-1
+#                   if (j.EQ.1) then
+#                         s1(i,j)=a(i,j)s4(j,i)**2
+#                    else
+#                         s1(i,j)=s1(i,j-1)-s4(j,i)**2
+#                    end if
+#              end do
+#              if (i .EQ. 1) then
+#                   s2(i)=sqrt(a(i,i))
+#              else
+#                   s2(i)=sqrt (s1(i,i-1))
+#              end if
+#              do k=i+1,n
+#                   do l=1,i-1
+#                       if (l .EQ. 1) then
+#                           s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i))
+#                       else
+#                            s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i))
+#                       end if
+#                   end do
+#                   if (i .EQ.1) then
+#                         s4(i,k)=a(k,i)/s2(i)
+#                   else
+#                         s4(i,k)=s3(i,k,i-1)/s2(i)
+#                   end if
+#              end do
+#         end do
+#        end
+
+
+# language: FORTRAN
+f
+
+# One parameter : n >= 10
+1 3
+#  n  1
+1  1 -10
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+8 # Number of statements: 8.
+
+1
+# {i, j | 1<=i<=n; 1<=j<=i-1; j=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+0  0  1  0 -1 # j=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; 1<=j<=i-1; j!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0  1  0 -2 # j>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0 -1  0  0 # j<=0
+0  0  0
+
+1
+# {i | 1<=i<=n; i=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+0  1  0 -1 # i=1
+0  0  0
+
+2
+# {i | 1<=i<=n; i!=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1  1  0 -2 # i>=2
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1 -1  0  0 # i<=0
+0  0  0
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+0  0  0  1  0 -1 # k=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0  1  0 -2 # k>=2
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0 -1  0  0 # k<=0
+0  0  0
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; i=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+0  1  0  0 -1 # i=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; i!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1  1  0  0 -2 # i>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1 -1  0  0  0 # i<=0
+0  0  0
+
+# We want to let CLooG set the iterator names.
+0
+
+8
+# Scattering functions ALLOCATION + ORIGINAL SCHEDULING
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1 -1  0  1 # ins1 : i+j-1
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1  0  0  0 # ins2 : i
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+7 11
+#  p c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0  0 -1  0  1 # ins3 : i-1
+0  0  1  0  0  0  0  0 -1  0  0 # i
+0  0  0  1  0  0  0  0  0  0 -1 # 1
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0 # 0
+
+7 11
+#  p c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0  0  0  0  0 # ins4 : 0
+0  0  1  0  0  0  0  0 -1  0  0 # i
+0  0  0  1  0  0  0  0  0  0 -2 # 2
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0 # 0
+
+7 13
+#  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0  0  0 -1 -1  0  1 # ins 5 : j+k-1
+0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  0  1  0  0  0  0  0 # 0
+
+7 13
+#  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0  0  0  0 -1  0  0 # ins 6 : k
+0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  0  1  0  0  0  0 -1 # 1
+
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1 -1  0  0 # ins 7 : i+j
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0  0 -1  0  0 # ins 8 : j
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -2 # 2
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+1 # We want to set the scatering dimension names.
+proc c1 c2 c3 c4 c5 c6
+
diff --git a/test/cholesau_original.cloog b/test/cholesau_original.cloog
new file mode 100644 (file)
index 0000000..462aae6
--- /dev/null
@@ -0,0 +1,245 @@
+#         program cholesau
+#
+#        integer i, j, k,l,n
+#        real a(10,10),s1(10,10),s2(10),s3(10,10,10),s4(10,10)
+#
+#         do i=1,n
+#              do j =1,i-1
+#                   if (j.EQ.1) then
+#                         s1(i,j)=a(i,j)s4(j,i)**2
+#                    else
+#                         s1(i,j)=s1(i,j-1)-s4(j,i)**2
+#                    end if
+#              end do
+#              if (i .EQ. 1) then
+#                   s2(i)=sqrt(a(i,i))
+#              else
+#                   s2(i)=sqrt (s1(i,i-1))
+#              end if
+#              do k=i+1,n
+#                   do l=1,i-1
+#                       if (l .EQ. 1) then
+#                           s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i))
+#                       else
+#                            s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i))
+#                       end if
+#                   end do
+#                   if (i .EQ.1) then
+#                         s4(i,k)=a(k,i)/s2(i)
+#                   else
+#                         s4(i,k)=s3(i,k,i-1)/s2(i)
+#                   end if
+#              end do
+#         end do
+#        end
+
+
+# language: FORTRAN
+f
+
+# One parameter : n >= 10
+1 3
+#  n  1
+1  1 -10
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+8 # Number of statements: 8.
+
+1
+# {i, j | 1<=i<=n; 1<=j<=i-1; j=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+0  0  1  0 -1 # j=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; 1<=j<=i-1; j!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0  1  0 -2 # j>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0 -1  0  0 # j<=0
+0  0  0
+
+1
+# {i | 1<=i<=n; i=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+0  1  0 -1 # i=1
+0  0  0
+
+2
+# {i | 1<=i<=n; i!=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1  1  0 -2 # i>=2
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1 -1  0  0 # i<=0
+0  0  0
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+0  0  0  1  0 -1 # k=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0  1  0 -2 # k>=2
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0 -1  0  0 # k<=0
+0  0  0
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; i=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+0  1  0  0 -1 # i=1
+0  0  0
+
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; i!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1  1  0  0 -2 # i>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1 -1  0  0  0 # i<=0
+0  0  0
+
+# We want to let CLooG set the iterator names.
+0
+
+8
+# Scattering functions ORIGINAL SCHEDULING
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0 # i
+0  0  1  0  0  0  0  0  0 -1 # 1
+0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 # 0
+
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0 # i
+0  0  1  0  0  0  0  0  0 -2 # 2
+0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 # 0
+
+6 12
+# c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+
+6 12
+# c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  1  0  0  0  0 -1 # 1
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -2 # 2
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+1 # We want to set the scatering dimension names.
+c1 c2 c3 c4 c5 c6
diff --git a/test/cholesky.c.polylib b/test/cholesky.c.polylib
new file mode 100644 (file)
index 0000000..8e0cb9e
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated by CLooG v0.12 in 0.04s. */
+if (n >= 2) {
+  S1(i = 1) ;
+  S3(i = 1) ;
+  for (c3=2;c3<=n;c3++) {
+    S4(i = 1,j = c3) ;
+    S6(i = 1,j = c3) ;
+  }
+}
+if (n == 1) {
+  S1(i = 1) ;
+  S3(i = 1) ;
+}
+for (c1=2;c1<=n-1;c1++) {
+  S1(i = c1) ;
+  for (c3=1;c3<=c1-1;c3++) {
+    S2(i = c1,j = c3) ;
+  }
+  S3(i = c1) ;
+  for (c3=c1+1;c3<=n;c3++) {
+    S4(i = c1,j = c3) ;
+    for (c5=1;c5<=c1-1;c5++) {
+      S5(i = c1,j = c3,k = c5) ;
+    }
+    S6(i = c1,j = c3) ;
+  }
+}
+if (n >= 2) {
+  S1(i = n) ;
+  for (c3=1;c3<=n-1;c3++) {
+    S2(i = n,j = c3) ;
+  }
+  S3(i = n) ;
+}
diff --git a/test/cholesky.c.ppl b/test/cholesky.c.ppl
new file mode 100644 (file)
index 0000000..7eba037
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated from ./cholesky.cloog by CLooG 0.15 64 bits in 0.05s. */
+if (n >= 2) {
+  S1(i = 1) ;
+  S3(i = 1) ;
+  for (c3=2;c3<=n;c3++) {
+    S4(i = 1,j = c3) ;
+    S6(i = 1,j = c3) ;
+  }
+}
+if (n == 1) {
+  S1(i = 1) ;
+  S3(i = 1) ;
+}
+for (c1=2;c1<=n-1;c1++) {
+  S1(i = c1) ;
+  for (c3=1;c3<=c1-1;c3++) {
+    S2(i = c1,j = c3) ;
+  }
+  S3(i = c1) ;
+  for (c3=c1+1;c3<=n;c3++) {
+    S4(i = c1,j = c3) ;
+    for (c5=1;c5<=c1-1;c5++) {
+      S5(i = c1,j = c3,k = c5) ;
+    }
+    S6(i = c1,j = c3) ;
+  }
+}
+if (n >= 2) {
+  S1(i = n) ;
+  for (c3=1;c3<=n-1;c3++) {
+    S2(i = n,j = c3) ;
+  }
+  S3(i = n) ;
+}
diff --git a/test/cholesky.cloog b/test/cholesky.cloog
new file mode 100644 (file)
index 0000000..a3eadea
--- /dev/null
@@ -0,0 +1,129 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+1
+n
+
+6 # Number of statements
+
+1
+# S1 {i | 1<=i<=n}
+2 4
+#  i  n  1
+1  1  0 -1
+1 -1  1  0
+0 0 0
+
+1
+# S2 {i, j | 1<=i<=n; 1<=j<=i-1}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -1
+1  1 -1  0 -1
+0 0 0
+
+1
+# S3 {i | 1<=i<=n}
+2 4
+#  i  n  1
+1  1  0 -1
+1 -1  1  0
+0 0 0
+
+1
+# S4 {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0 0 0
+
+1
+# S5 {i, j, k | 1<=i<=n; i+1<=j<=n 1<=k<=i-1}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  1  0 -1  0 -1
+0 0 0
+
+1
+# S6 {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0 0 0
+0
+
+6 # Scattering functions
+# Et les instructions de chunking (prog init)...
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0
+0  0  1  0  0  0  0  0  0 -1
+0  0  0  1  0  0  0  0  0  0
+0  0  0  0  1  0  0  0  0  0
+0  0  0  0  0  1  0  0  0  0
+0  0  0  0  0  0  1  0  0  0
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0  0  0 -2
+0  0  0  1  0  0  0  0 -1  0  0
+0  0  0  0  1  0  0  0  0  0 -1
+0  0  0  0  0  1  0  0  0  0  0
+0  0  0  0  0  0  1  0  0  0  0
+
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0
+0  0  1  0  0  0  0  0  0 -3
+0  0  0  1  0  0  0  0  0  0
+0  0  0  0  1  0  0  0  0  0
+0  0  0  0  0  1  0  0  0  0
+0  0  0  0  0  0  1  0  0  0
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0  0  0 -4
+0  0  0  1  0  0  0  0 -1  0  0
+0  0  0  0  1  0  0  0  0  0 -1
+0  0  0  0  0  1  0  0  0  0  0
+0  0  0  0  0  0  1  0  0  0  0
+
+6 12
+# c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0 -1  0  0  0  0
+0  0  1  0  0  0  0  0  0  0  0 -4
+0  0  0  1  0  0  0  0 -1  0  0  0
+0  0  0  0  1  0  0  0  0  0  0 -2
+0  0  0  0  0  1  0  0  0 -1  0  0
+0  0  0  0  0  0  1  0  0  0  0 -1
+
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0  0  0 -4
+0  0  0  1  0  0  0  0 -1  0  0
+0  0  0  0  1  0  0  0  0  0 -3
+0  0  0  0  0  1  0  0  0  0  0
+0  0  0  0  0  0  1  0  0  0  0
+0
+
+
diff --git a/test/cholesky2.c.polylib b/test/cholesky2.c.polylib
new file mode 100644 (file)
index 0000000..a5dbdc2
--- /dev/null
@@ -0,0 +1,94 @@
+/* Generated from cholesky2.cloog by CLooG v0.14.0 gmp bits in 0.11s. */
+/* CLooG asked for 616 KBytes. */
+if (M >= 2) {
+  for (c2=1;c2<=M-1;c2++) {
+    S1(i = c2) ;
+    for (c3=c2+1;c3<=M;c3++) {
+      S4(i = c2,j = c3) ;
+    }
+  }
+  S1(i = M) ;
+}
+if (M == 1) {
+  S1(i = 1) ;
+}
+if (M >= 2) {
+  S3(i = 1) ;
+}
+if (M >= 3) {
+  S6(i = 1,j = 2) ;
+  for (c2=3;c2<=M;c2++) {
+    S6(i = 1,j = c2) ;
+    for (i=2;i<=c2-1;i++) {
+      S5(j = c2,k = 1) ;
+    }
+  }
+}
+if (M == 2) {
+  S6(i = 1,j = 2) ;
+}
+for (c1=3;c1<=3*M-7;c1++) {
+  if ((c1+2)%3 == 0) {
+    i = (c1+2)/3 ;
+    S3 ;
+  }
+  if (c1%3 == 0) {
+    c2 = (c1+3)/3 ;
+    i = (c1+3)/3 ;
+    S2(j = c1/3) ;
+  }
+  for (c2=ceild(c1+4,3);c2<=floord(c1+6,3);c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+  }
+  for (c2=ceild(c1+7,3);c2<=M;c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+    if ((c1+1)%3 == 0) {
+      c3 = (c1+1)/3 ;
+      for (i=ceild(c1+4,3);i<=c2-1;i++) {
+        k = (c1+1)/3 ;
+        S5(j = c2) ;
+      }
+    }
+  }
+}
+for (c1=max(3*M-6,3);c1<=3*M-4;c1++) {
+  if ((c1+2)%3 == 0) {
+    i = (c1+2)/3 ;
+    S3 ;
+  }
+  if (c1%3 == 0) {
+    c2 = (c1+3)/3 ;
+    i = (c1+3)/3 ;
+    S2(j = c1/3) ;
+  }
+  for (c2=ceild(c1+4,3);c2<=M;c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+  }
+}
+if (M >= 2) {
+  c1 = 3*M-3 ;
+  j = M-1 ;
+  S2(i = M) ;
+}
+if (M >= 1) {
+  c1 = 3*M-2 ;
+  S3(i = M) ;
+}
diff --git a/test/cholesky2.c.ppl b/test/cholesky2.c.ppl
new file mode 100644 (file)
index 0000000..13350e7
--- /dev/null
@@ -0,0 +1,97 @@
+/* Generated from ./cholesky2.cloog by CLooG 0.15 64 bits in 0.12s. */
+if (M >= 2) {
+  for (c2=1;c2<=M-1;c2++) {
+    S1(i = c2) ;
+    for (c3=c2+1;c3<=M;c3++) {
+      S4(i = c2,j = c3) ;
+    }
+  }
+  S1(i = M) ;
+}
+if (M == 1) {
+  S1(i = 1) ;
+}
+if (M >= 1) {
+  S3(i = 1) ;
+}
+if (M == 2) {
+  S6(i = 1,j = 2) ;
+}
+if (M >= 3) {
+  S6(i = 1,j = 2) ;
+  for (c2=3;c2<=M;c2++) {
+    S6(i = 1,j = c2) ;
+    for (i=2;i<=c2-1;i++) {
+      S5(j = c2,k = 1) ;
+    }
+  }
+}
+for (c1=3;c1<=3*M-7;c1++) {
+  if ((c1+2)%3 == 0) {
+    i = (c1+2)/3 ;
+    S3 ;
+  }
+  if (c1%3 == 0) {
+    c2 = (c1+3)/3 ;
+    i = (c1+3)/3 ;
+    S2(j = c1/3) ;
+  }
+  for (c2=ceild(c1+4,3);c2<=floord(c1+6,3);c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+  }
+  for (c2=ceild(c1+7,3);c2<=M;c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+    if ((c1+1)%3 == 0) {
+      c3 = (c1+1)/3 ;
+      for (i=ceild(c1+4,3);i<=c2-1;i++) {
+        k = (c1+1)/3 ;
+        S5(j = c2) ;
+      }
+    }
+  }
+}
+for (c1=max(3*M-6,3);c1<=3*M-4;c1++) {
+  if ((c1+2)%3 == 0) {
+    i = (c1+2)/3 ;
+    S3 ;
+  }
+  if (c1%3 == 0) {
+    c2 = (c1+3)/3 ;
+    i = (c1+3)/3 ;
+    S2(j = c1/3) ;
+  }
+  for (c2=ceild(c1+4,3);c2<=M;c2++) {
+    if ((c1+1)%3 == 0) {
+      i = (c1+1)/3 ;
+      S6(j = c2) ;
+    }
+    if (c1%3 == 0) {
+      S2(i = c2,j = c1/3) ;
+    }
+  }
+}
+if (M >= 2) {
+  c1 = 3*M-3 ;
+  if (2%3 == 0) {
+    i = (3*M-1)/3 ;
+    S3 ;
+  }
+  j = M-1 ;
+  S2(i = M) ;
+}
+if (M >= 2) {
+  c1 = 3*M-2 ;
+  S3(i = M) ;
+}
diff --git a/test/cholesky2.cloog b/test/cholesky2.cloog
new file mode 100644 (file)
index 0000000..6c0a81a
--- /dev/null
@@ -0,0 +1,108 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+0
+
+6 # Number of statements
+
+1
+# S1 {i | 1<=i<=n}
+2 4
+#  i  n  1
+1  1  0 -1
+1 -1  1  0
+0  0  0
+
+1
+# S2 {i, j | 1<=i<=n; 1<=j<=i-1}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -1
+1  1 -1  0 -1
+0  0  0
+
+1
+# S3 {i | 1<=i<=n}
+2 4
+#  i  n  1
+1  1  0 -1
+1 -1  1  0
+0  0  0
+
+1
+# S4 {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+
+1
+# S5 {i, j, k | 1<=i<=n; i+1<=j<=n 1<=k<=i-1}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  1  0 -1  0 -1
+0  0  0
+
+1
+# S6 {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+0
+
+6 # Scattering functions
+# Et les instructions de chunking (parallele)...
+3 7
+# c1 c2 c3  i  n  1
+0  1  0  0  0  0  0
+0  0  1  0 -1  0  0
+0  0  0  1  0  0  0
+
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0  0 -3  0  0
+0  0  1  0 -1  0  0  0
+0  0  0  1  0  0  0  0
+
+3 7
+# c1 c2 c3  i  n  1
+0  1  0  0 -3  0  2
+0  0  1  0  0  0  0
+0  0  0  1  0  0  0
+
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0  0  0  0  0
+0  0  1  0 -1  0  0  0
+0  0  0  1  0 -1  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0  0  0 -3  0  1
+0  0  1  0  0 -1  0  0  0
+0  0  0  1  0  0 -1  0  0
+
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0 -3  0  0  1
+0  0  1  0  0 -1  0  0
+0  0  0  1  0  0  0  0
+0
diff --git a/test/classen.c.polylib b/test/classen.c.polylib
new file mode 100644 (file)
index 0000000..181796c
--- /dev/null
@@ -0,0 +1,368 @@
+/* Generated from classen.cloog by CLooG v0.14.0 gmp bits in 1.54s. */
+/* CLooG asked for 3980 KBytes. */
+if (m >= 2) {
+  S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ;
+  S2(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S3(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ;
+  S4(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ;
+  S8(coordT1 = 0,coordP1 = 1) ;
+}
+if (m == 1) {
+  S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ;
+  S8(coordT1 = 0,coordP1 = 1) ;
+}
+if (m >= 3) {
+  S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ;
+  S2(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1,other3 = 2,other4 = 1,other5 = 3,other6 = 1) ;
+  S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ;
+  S4(coordT1 = 1,coordP1 = 1,other1 = 3,other2 = 2,other3 = 2,other4 = 1,other5 = 3,other6 = 2) ;
+  S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ;
+  S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ;
+  S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ;
+  S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ;
+  S3(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 3,other3 = 1,other4 = 2,other5 = 1,other6 = 3) ;
+  S4(coordT1 = 1,coordP1 = 2,other1 = 3,other2 = 3,other3 = 1,other4 = 2,other5 = 2,other6 = 3) ;
+  for (coordP1=1;coordP1<=2;coordP1++) {
+    S8(coordT1 = 1) ;
+  }
+}
+for (glT1=2;glT1<=m-2;glT1++) {
+  coordT1 = glT1-1 ;
+  other5 = glT1+1 ;
+  S5(coordP1 = 1,other1 = glT1,other2 = 1,other3 = glT1,other4 = 1,other6 = 1) ;
+  other1 = glT1+1 ;
+  S1(coordT1 = glT1,coordP1 = 1,other2 = 1) ;
+  local1 = glT1+1 ;
+  other1 = glT1+1 ;
+  other3 = glT1+1 ;
+  other5 = glT1+2 ;
+  S2(coordT1 = glT1,coordP1 = 1,other2 = 1,other4 = 1,other6 = 1) ;
+  other3 = glT1+1 ;
+  other5 = glT1+1 ;
+  S3(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ;
+  other1 = glT1+2 ;
+  other3 = glT1+1 ;
+  other5 = glT1+2 ;
+  S4(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ;
+  for (rp1=2;rp1<=glT1;rp1++) {
+    local1 = glT1-rp1+1 ;
+    coordT1 = glT1-1 ;
+    other3 = glT1-rp1+1 ;
+    other5 = glT1-rp1+2 ;
+    S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    local2 = rp1-1 ;
+    coordT1 = glT1-1 ;
+    coordP1 = rp1-1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+2 ;
+    S6(other1 = glT1,other2 = rp1,other6 = rp1) ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+3 ;
+    S7(other2 = rp1,other6 = rp1) ;
+    other1 = glT1-rp1+2 ;
+    S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+2 ;
+    other6 = rp1+1 ;
+    S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+    other1 = glT1+2 ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    other6 = rp1+1 ;
+    S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+  }
+  rp1 = glT1+1 ;
+  coordT1 = glT1-1 ;
+  other2 = glT1+1 ;
+  other6 = glT1+1 ;
+  S6(coordP1 = glT1,other1 = glT1,other3 = 1,other4 = glT1,other5 = 1) ;
+  other1 = glT1+1 ;
+  other2 = glT1+1 ;
+  other6 = glT1+1 ;
+  S7(coordP1 = glT1,other3 = 1,other4 = glT1,other5 = 2) ;
+  coordP1 = glT1+1 ;
+  other2 = glT1+1 ;
+  S1(coordT1 = glT1,other1 = 1) ;
+  local2 = glT1+1 ;
+  coordP1 = glT1+1 ;
+  other1 = glT1+1 ;
+  other2 = glT1+1 ;
+  other4 = glT1+1 ;
+  other6 = glT1+1 ;
+  S2(coordT1 = glT1,other3 = 1,other5 = 2) ;
+  other2 = glT1+2 ;
+  other4 = glT1+1 ;
+  other6 = glT1+2 ;
+  S3(coordT1 = glT1,other3 = 1,other5 = 1) ;
+  other1 = glT1+2 ;
+  other2 = glT1+2 ;
+  other4 = glT1+1 ;
+  other6 = glT1+2 ;
+  S4(coordT1 = glT1,other3 = 1,other5 = 2) ;
+  for (coordP1=1;coordP1<=glT1+1;coordP1++) {
+    S8(coordT1 = glT1) ;
+  }
+}
+if (m >= 3) {
+  glT1 = m-1 ;
+  local1 = m-1 ;
+  coordT1 = m-2 ;
+  other1 = m-1 ;
+  other3 = m-1 ;
+  S5(coordP1 = 1,other2 = 1,other4 = 1,other5 = m,other6 = 1) ;
+  coordT1 = m-1 ;
+  S1(coordP1 = 1,other1 = m,other2 = 1) ;
+  coordT1 = m-1 ;
+  S3(coordP1 = 1,other1 = m,other2 = 2,other3 = m,other4 = 1,other5 = m,other6 = 2) ;
+  for (rp1=2;rp1<=m-1;rp1++) {
+    local1 = -rp1+m ;
+    coordT1 = m-2 ;
+    other1 = m-1 ;
+    other3 = -rp1+m ;
+    other5 = -rp1+m+1 ;
+    S5(coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = -rp1+m+1 ;
+    local2 = rp1-1 ;
+    coordT1 = m-2 ;
+    coordP1 = rp1-1 ;
+    other1 = m-1 ;
+    other3 = -rp1+m+1 ;
+    other4 = rp1-1 ;
+    other5 = -rp1+m+1 ;
+    S6(other2 = rp1,other6 = rp1) ;
+    other3 = -rp1+m+1 ;
+    other4 = rp1-1 ;
+    other5 = -rp1+m+2 ;
+    S7(other1 = m,other2 = rp1,other6 = rp1) ;
+    coordT1 = m-1 ;
+    other1 = -rp1+m+1 ;
+    S1(coordP1 = rp1,other2 = rp1) ;
+    local1 = -rp1+m+1 ;
+    coordT1 = m-1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+2 ;
+    S2(coordP1 = rp1,other1 = m,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+1 ;
+    other6 = rp1+1 ;
+    S3(coordP1 = rp1,other1 = m,other4 = rp1) ;
+    other1 = m+1 ;
+    other2 = rp1+1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+2 ;
+    other6 = rp1+1 ;
+    S4(coordP1 = rp1,other4 = rp1) ;
+  }
+  local2 = m-1 ;
+  coordT1 = m-2 ;
+  coordP1 = m-1 ;
+  other1 = m-1 ;
+  other4 = m-1 ;
+  S6(other2 = m,other3 = 1,other5 = 1,other6 = m) ;
+  other4 = m-1 ;
+  S7(other1 = m,other2 = m,other3 = 1,other5 = 2,other6 = m) ;
+  coordT1 = m-1 ;
+  S1(coordP1 = m,other1 = 1,other2 = m) ;
+  coordT1 = m-1 ;
+  S2(coordP1 = m,other1 = m,other2 = m,other3 = 1,other4 = m,other5 = 2,other6 = m) ;
+  coordT1 = m-1 ;
+  for (coordP1=1;coordP1<=m;coordP1++) {
+    S8 ;
+  }
+}
+for (glT1=m;glT1<=2*m-4;glT1++) {
+  rp1 = glT1-m+2 ;
+  local1 = m-1 ;
+  local2 = glT1-m+2 ;
+  coordT1 = glT1-1 ;
+  coordP1 = glT1-m+2 ;
+  other2 = glT1-m+2 ;
+  other3 = m-1 ;
+  other4 = glT1-m+2 ;
+  other6 = glT1-m+2 ;
+  S5(other1 = glT1,other5 = m) ;
+  local2 = glT1-m+1 ;
+  coordT1 = glT1-1 ;
+  coordP1 = glT1-m+1 ;
+  other2 = glT1-m+2 ;
+  other4 = glT1-m+1 ;
+  other6 = glT1-m+2 ;
+  S6(other1 = glT1,other3 = m,other5 = m) ;
+  coordP1 = glT1-m+2 ;
+  other2 = glT1-m+2 ;
+  S1(coordT1 = glT1,other1 = m) ;
+  local2 = glT1-m+2 ;
+  coordP1 = glT1-m+2 ;
+  other1 = glT1+1 ;
+  other2 = glT1-m+3 ;
+  other4 = glT1-m+2 ;
+  other6 = glT1-m+3 ;
+  S3(coordT1 = glT1,other3 = m,other5 = m) ;
+  for (rp1=glT1-m+3;rp1<=m-1;rp1++) {
+    local1 = glT1-rp1+1 ;
+    coordT1 = glT1-1 ;
+    other3 = glT1-rp1+1 ;
+    other5 = glT1-rp1+2 ;
+    S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    local2 = rp1-1 ;
+    coordT1 = glT1-1 ;
+    coordP1 = rp1-1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+2 ;
+    S6(other1 = glT1,other2 = rp1,other6 = rp1) ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+3 ;
+    S7(other2 = rp1,other6 = rp1) ;
+    other1 = glT1-rp1+2 ;
+    S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+2 ;
+    other6 = rp1+1 ;
+    S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+    other1 = glT1+2 ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    other6 = rp1+1 ;
+    S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+  }
+  local1 = glT1-m+1 ;
+  coordT1 = glT1-1 ;
+  other3 = glT1-m+1 ;
+  other5 = glT1-m+2 ;
+  S5(coordP1 = m,other1 = glT1,other2 = m,other4 = m,other6 = m) ;
+  local1 = glT1-m+2 ;
+  local2 = m-1 ;
+  coordT1 = glT1-1 ;
+  coordP1 = m-1 ;
+  other3 = glT1-m+2 ;
+  other4 = m-1 ;
+  other5 = glT1-m+2 ;
+  S6(other1 = glT1,other2 = m,other6 = m) ;
+  other1 = glT1+1 ;
+  other3 = glT1-m+2 ;
+  other4 = m-1 ;
+  other5 = glT1-m+3 ;
+  S7(other2 = m,other6 = m) ;
+  other1 = glT1-m+2 ;
+  S1(coordT1 = glT1,coordP1 = m,other2 = m) ;
+  local1 = glT1-m+2 ;
+  other1 = glT1+1 ;
+  other3 = glT1-m+2 ;
+  other5 = glT1-m+3 ;
+  S2(coordT1 = glT1,coordP1 = m,other2 = m,other4 = m,other6 = m) ;
+  for (coordP1=glT1-m+2;coordP1<=m;coordP1++) {
+    S8(coordT1 = glT1) ;
+  }
+}
+if (m >= 3) {
+  glT1 = 2*m-3 ;
+  rp1 = m-1 ;
+  local1 = m-1 ;
+  local2 = m-1 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-3 ;
+  other2 = m-1 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  other6 = m-1 ;
+  S5(other5 = m) ;
+  local2 = m-2 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-2 ;
+  other1 = 2*m-3 ;
+  other2 = m-1 ;
+  other4 = m-2 ;
+  other6 = m-1 ;
+  S6(other3 = m,other5 = m) ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other2 = m-1 ;
+  S1(other1 = m) ;
+  local2 = m-1 ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-2 ;
+  other4 = m-1 ;
+  S3(other2 = m,other3 = m,other5 = m,other6 = m) ;
+  local1 = m-2 ;
+  coordT1 = 2*m-4 ;
+  other1 = 2*m-3 ;
+  other3 = m-2 ;
+  other5 = m-1 ;
+  S5(coordP1 = m,other2 = m,other4 = m,other6 = m) ;
+  local1 = m-1 ;
+  local2 = m-1 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-3 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  other5 = m-1 ;
+  S6(other2 = m,other6 = m) ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  S7(other2 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-3 ;
+  other1 = m-1 ;
+  S1(coordP1 = m,other2 = m) ;
+  local1 = m-1 ;
+  coordT1 = 2*m-3 ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  S2(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-3 ;
+  for (coordP1=m-1;coordP1<=m;coordP1++) {
+    S8 ;
+  }
+}
+if (m == 2) {
+  S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ;
+  S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ;
+  S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ;
+  S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ;
+}
+if (m >= 2) {
+  glT1 = 2*m-2 ;
+  local1 = m-1 ;
+  coordT1 = 2*m-3 ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  S5(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ;
+  local2 = m-1 ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-2 ;
+  other4 = m-1 ;
+  S6(other2 = m,other3 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-2 ;
+  S1(coordP1 = m,other1 = m,other2 = m) ;
+  coordT1 = 2*m-2 ;
+  S8(coordP1 = m) ;
+}
diff --git a/test/classen.c.ppl b/test/classen.c.ppl
new file mode 100644 (file)
index 0000000..e470a05
--- /dev/null
@@ -0,0 +1,367 @@
+/* Generated from ./classen.cloog by CLooG 0.15 64 bits in 2.02s. */
+if (m >= 2) {
+  S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ;
+  S2(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S3(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ;
+  S4(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ;
+  S8(coordT1 = 0,coordP1 = 1) ;
+}
+if (m == 1) {
+  S1(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1) ;
+  S8(coordT1 = 0,coordP1 = 1) ;
+}
+if (m >= 3) {
+  S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ;
+  S2(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1,other3 = 2,other4 = 1,other5 = 3,other6 = 1) ;
+  S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ;
+  S4(coordT1 = 1,coordP1 = 1,other1 = 3,other2 = 2,other3 = 2,other4 = 1,other5 = 3,other6 = 2) ;
+  S6(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 2,other3 = 1,other4 = 1,other5 = 1,other6 = 2) ;
+  S7(coordT1 = 0,coordP1 = 1,other1 = 2,other2 = 2,other3 = 1,other4 = 1,other5 = 2,other6 = 2) ;
+  S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ;
+  S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ;
+  S3(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 3,other3 = 1,other4 = 2,other5 = 1,other6 = 3) ;
+  S4(coordT1 = 1,coordP1 = 2,other1 = 3,other2 = 3,other3 = 1,other4 = 2,other5 = 2,other6 = 3) ;
+  for (coordP1=1;coordP1<=2;coordP1++) {
+    S8(coordT1 = 1) ;
+  }
+}
+for (glT1=2;glT1<=m-2;glT1++) {
+  coordT1 = glT1-1 ;
+  other5 = glT1+1 ;
+  S5(coordP1 = 1,other1 = glT1,other2 = 1,other3 = glT1,other4 = 1,other6 = 1) ;
+  other1 = glT1+1 ;
+  S1(coordT1 = glT1,coordP1 = 1,other2 = 1) ;
+  local1 = glT1+1 ;
+  other1 = glT1+1 ;
+  other3 = glT1+1 ;
+  other5 = glT1+2 ;
+  S2(coordT1 = glT1,coordP1 = 1,other2 = 1,other4 = 1,other6 = 1) ;
+  other3 = glT1+1 ;
+  other5 = glT1+1 ;
+  S3(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ;
+  other1 = glT1+2 ;
+  other3 = glT1+1 ;
+  other5 = glT1+2 ;
+  S4(coordT1 = glT1,coordP1 = 1,other2 = 2,other4 = 1,other6 = 2) ;
+  for (rp1=2;rp1<=glT1;rp1++) {
+    local1 = glT1-rp1+1 ;
+    coordT1 = glT1-1 ;
+    other3 = glT1-rp1+1 ;
+    other5 = glT1-rp1+2 ;
+    S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    local2 = rp1-1 ;
+    coordT1 = glT1-1 ;
+    coordP1 = rp1-1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+2 ;
+    S6(other1 = glT1,other2 = rp1,other6 = rp1) ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+3 ;
+    S7(other2 = rp1,other6 = rp1) ;
+    other1 = glT1-rp1+2 ;
+    S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+2 ;
+    other6 = rp1+1 ;
+    S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+    other1 = glT1+2 ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    other6 = rp1+1 ;
+    S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+  }
+  rp1 = glT1+1 ;
+  coordT1 = glT1-1 ;
+  other2 = glT1+1 ;
+  other6 = glT1+1 ;
+  S6(coordP1 = glT1,other1 = glT1,other3 = 1,other4 = glT1,other5 = 1) ;
+  other1 = glT1+1 ;
+  other2 = glT1+1 ;
+  other6 = glT1+1 ;
+  S7(coordP1 = glT1,other3 = 1,other4 = glT1,other5 = 2) ;
+  coordP1 = glT1+1 ;
+  other2 = glT1+1 ;
+  S1(coordT1 = glT1,other1 = 1) ;
+  local2 = glT1+1 ;
+  coordP1 = glT1+1 ;
+  other1 = glT1+1 ;
+  other2 = glT1+1 ;
+  other4 = glT1+1 ;
+  other6 = glT1+1 ;
+  S2(coordT1 = glT1,other3 = 1,other5 = 2) ;
+  other2 = glT1+2 ;
+  other4 = glT1+1 ;
+  other6 = glT1+2 ;
+  S3(coordT1 = glT1,other3 = 1,other5 = 1) ;
+  other1 = glT1+2 ;
+  other2 = glT1+2 ;
+  other4 = glT1+1 ;
+  other6 = glT1+2 ;
+  S4(coordT1 = glT1,other3 = 1,other5 = 2) ;
+  for (coordP1=1;coordP1<=glT1+1;coordP1++) {
+    S8(coordT1 = glT1) ;
+  }
+}
+if (m >= 3) {
+  glT1 = m-1 ;
+  local1 = m-1 ;
+  coordT1 = m-2 ;
+  other1 = m-1 ;
+  other3 = m-1 ;
+  S5(coordP1 = 1,other2 = 1,other4 = 1,other5 = m,other6 = 1) ;
+  coordT1 = m-1 ;
+  S1(coordP1 = 1,other1 = m,other2 = 1) ;
+  coordT1 = m-1 ;
+  S3(coordP1 = 1,other1 = m,other2 = 2,other3 = m,other4 = 1,other5 = m,other6 = 2) ;
+  for (rp1=2;rp1<=m-1;rp1++) {
+    local1 = -rp1+m ;
+    coordT1 = m-2 ;
+    other1 = m-1 ;
+    other3 = -rp1+m ;
+    other5 = -rp1+m+1 ;
+    S5(coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = -rp1+m+1 ;
+    local2 = rp1-1 ;
+    coordT1 = m-2 ;
+    coordP1 = rp1-1 ;
+    other1 = m-1 ;
+    other3 = -rp1+m+1 ;
+    other4 = rp1-1 ;
+    other5 = -rp1+m+1 ;
+    S6(other2 = rp1,other6 = rp1) ;
+    other3 = -rp1+m+1 ;
+    other4 = rp1-1 ;
+    other5 = -rp1+m+2 ;
+    S7(other1 = m,other2 = rp1,other6 = rp1) ;
+    coordT1 = m-1 ;
+    other1 = -rp1+m+1 ;
+    S1(coordP1 = rp1,other2 = rp1) ;
+    local1 = -rp1+m+1 ;
+    coordT1 = m-1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+2 ;
+    S2(coordP1 = rp1,other1 = m,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+1 ;
+    other6 = rp1+1 ;
+    S3(coordP1 = rp1,other1 = m,other4 = rp1) ;
+    other1 = m+1 ;
+    other2 = rp1+1 ;
+    other3 = -rp1+m+1 ;
+    other5 = -rp1+m+2 ;
+    other6 = rp1+1 ;
+    S4(coordP1 = rp1,other4 = rp1) ;
+  }
+  local2 = m-1 ;
+  coordT1 = m-2 ;
+  coordP1 = m-1 ;
+  other1 = m-1 ;
+  other4 = m-1 ;
+  S6(other2 = m,other3 = 1,other5 = 1,other6 = m) ;
+  other4 = m-1 ;
+  S7(other1 = m,other2 = m,other3 = 1,other5 = 2,other6 = m) ;
+  coordT1 = m-1 ;
+  S1(coordP1 = m,other1 = 1,other2 = m) ;
+  coordT1 = m-1 ;
+  S2(coordP1 = m,other1 = m,other2 = m,other3 = 1,other4 = m,other5 = 2,other6 = m) ;
+  coordT1 = m-1 ;
+  for (coordP1=1;coordP1<=m;coordP1++) {
+    S8 ;
+  }
+}
+for (glT1=m;glT1<=2*m-4;glT1++) {
+  rp1 = glT1-m+2 ;
+  local1 = m-1 ;
+  local2 = glT1-m+2 ;
+  coordT1 = glT1-1 ;
+  coordP1 = glT1-m+2 ;
+  other2 = glT1-m+2 ;
+  other3 = m-1 ;
+  other4 = glT1-m+2 ;
+  other6 = glT1-m+2 ;
+  S5(other1 = glT1,other5 = m) ;
+  local2 = glT1-m+1 ;
+  coordT1 = glT1-1 ;
+  coordP1 = glT1-m+1 ;
+  other2 = glT1-m+2 ;
+  other4 = glT1-m+1 ;
+  other6 = glT1-m+2 ;
+  S6(other1 = glT1,other3 = m,other5 = m) ;
+  coordP1 = glT1-m+2 ;
+  other2 = glT1-m+2 ;
+  S1(coordT1 = glT1,other1 = m) ;
+  local2 = glT1-m+2 ;
+  coordP1 = glT1-m+2 ;
+  other1 = glT1+1 ;
+  other2 = glT1-m+3 ;
+  other4 = glT1-m+2 ;
+  other6 = glT1-m+3 ;
+  S3(coordT1 = glT1,other3 = m,other5 = m) ;
+  for (rp1=glT1-m+3;rp1<=m-1;rp1++) {
+    local1 = glT1-rp1+1 ;
+    coordT1 = glT1-1 ;
+    other3 = glT1-rp1+1 ;
+    other5 = glT1-rp1+2 ;
+    S5(coordP1 = rp1,other1 = glT1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    local2 = rp1-1 ;
+    coordT1 = glT1-1 ;
+    coordP1 = rp1-1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+2 ;
+    S6(other1 = glT1,other2 = rp1,other6 = rp1) ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other4 = rp1-1 ;
+    other5 = glT1-rp1+3 ;
+    S7(other2 = rp1,other6 = rp1) ;
+    other1 = glT1-rp1+2 ;
+    S1(coordT1 = glT1,coordP1 = rp1,other2 = rp1) ;
+    local1 = glT1-rp1+2 ;
+    other1 = glT1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    S2(coordT1 = glT1,coordP1 = rp1,other2 = rp1,other4 = rp1,other6 = rp1) ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+2 ;
+    other6 = rp1+1 ;
+    S3(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+    other1 = glT1+2 ;
+    other2 = rp1+1 ;
+    other3 = glT1-rp1+2 ;
+    other5 = glT1-rp1+3 ;
+    other6 = rp1+1 ;
+    S4(coordT1 = glT1,coordP1 = rp1,other4 = rp1) ;
+  }
+  local1 = glT1-m+1 ;
+  coordT1 = glT1-1 ;
+  other3 = glT1-m+1 ;
+  other5 = glT1-m+2 ;
+  S5(coordP1 = m,other1 = glT1,other2 = m,other4 = m,other6 = m) ;
+  local1 = glT1-m+2 ;
+  local2 = m-1 ;
+  coordT1 = glT1-1 ;
+  coordP1 = m-1 ;
+  other3 = glT1-m+2 ;
+  other4 = m-1 ;
+  other5 = glT1-m+2 ;
+  S6(other1 = glT1,other2 = m,other6 = m) ;
+  other1 = glT1+1 ;
+  other3 = glT1-m+2 ;
+  other4 = m-1 ;
+  other5 = glT1-m+3 ;
+  S7(other2 = m,other6 = m) ;
+  other1 = glT1-m+2 ;
+  S1(coordT1 = glT1,coordP1 = m,other2 = m) ;
+  local1 = glT1-m+2 ;
+  other1 = glT1+1 ;
+  other3 = glT1-m+2 ;
+  other5 = glT1-m+3 ;
+  S2(coordT1 = glT1,coordP1 = m,other2 = m,other4 = m,other6 = m) ;
+  for (coordP1=glT1-m+2;coordP1<=m;coordP1++) {
+    S8(coordT1 = glT1) ;
+  }
+}
+if (m >= 3) {
+  glT1 = 2*m-3 ;
+  rp1 = m-1 ;
+  local1 = m-1 ;
+  local2 = m-1 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-3 ;
+  other2 = m-1 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  other6 = m-1 ;
+  S5(other5 = m) ;
+  local2 = m-2 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-2 ;
+  other1 = 2*m-3 ;
+  other2 = m-1 ;
+  other4 = m-2 ;
+  other6 = m-1 ;
+  S6(other3 = m,other5 = m) ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other2 = m-1 ;
+  S1(other1 = m) ;
+  local2 = m-1 ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-2 ;
+  other4 = m-1 ;
+  S3(other2 = m,other3 = m,other5 = m,other6 = m) ;
+  local1 = m-2 ;
+  coordT1 = 2*m-4 ;
+  other1 = 2*m-3 ;
+  other3 = m-2 ;
+  other5 = m-1 ;
+  S5(coordP1 = m,other2 = m,other4 = m,other6 = m) ;
+  local1 = m-1 ;
+  local2 = m-1 ;
+  coordT1 = 2*m-4 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-3 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  other5 = m-1 ;
+  S6(other2 = m,other6 = m) ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  other4 = m-1 ;
+  S7(other2 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-3 ;
+  other1 = m-1 ;
+  S1(coordP1 = m,other2 = m) ;
+  local1 = m-1 ;
+  coordT1 = 2*m-3 ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  S2(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-3 ;
+  for (coordP1=m-1;coordP1<=m;coordP1++) {
+    S8 ;
+  }
+}
+if (m == 2) {
+  S5(coordT1 = 0,coordP1 = 1,other1 = 1,other2 = 1,other3 = 1,other4 = 1,other5 = 2,other6 = 1) ;
+  S1(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 1) ;
+  S3(coordT1 = 1,coordP1 = 1,other1 = 2,other2 = 2,other3 = 2,other4 = 1,other5 = 2,other6 = 2) ;
+  S1(coordT1 = 1,coordP1 = 2,other1 = 1,other2 = 2) ;
+  S2(coordT1 = 1,coordP1 = 2,other1 = 2,other2 = 2,other3 = 1,other4 = 2,other5 = 2,other6 = 2) ;
+}
+if (m >= 2) {
+  glT1 = 2*m-2 ;
+  local1 = m-1 ;
+  coordT1 = 2*m-3 ;
+  other1 = 2*m-2 ;
+  other3 = m-1 ;
+  S5(coordP1 = m,other2 = m,other4 = m,other5 = m,other6 = m) ;
+  local2 = m-1 ;
+  coordT1 = 2*m-3 ;
+  coordP1 = m-1 ;
+  other1 = 2*m-2 ;
+  other4 = m-1 ;
+  S6(other2 = m,other3 = m,other5 = m,other6 = m) ;
+  coordT1 = 2*m-2 ;
+  S1(coordP1 = m,other1 = m,other2 = m) ;
+  coordT1 = 2*m-2 ;
+  S8(coordP1 = m) ;
+}
diff --git a/test/classen.cloog b/test/classen.cloog
new file mode 100644 (file)
index 0000000..c69118b
--- /dev/null
@@ -0,0 +1,233 @@
+# created: Fri Mar  4 11:37:56 CET 2005
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+1 # Context
+1 3
+ 1 1 0
+
+
+1 # set parameter names
+m
+
+# --------------------- STATEMENTS --------------------
+8
+
+# 1 computation stmts:
+1 # one domain per statement
+7 7
+ 1 0 0 0 0 1 -1
+ 1 0 0 -1 0 1 0
+ 1 0 0 1 0 0 -1
+ 1 0 0 0 -1 1 0
+ 1 0 0 0 1 0 -1
+ 0 0 -1 0 1 0 0
+ 0 -1 0 1 1 0 -2
+0 0 0 # for future options...
+
+
+# 3 prepare-send stmts:
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 0
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 0
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -2
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -4
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -2
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+# 3 prepare-receive stmts:
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 0
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 0
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -2
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+13 11
+ 1 0 0 0 0 0 0 0 0 1 -1
+ 1 -1 0 0 0 0 0 0 0 2 -4
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -2
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+# communication statement:
+1 # number of domains for communication statement
+6 5
+ 1 -1 0 2 -2
+ 1 1 0 0 0
+ 1 1 -1 0 1
+ 1 0 -1 1 0
+ 1 -1 1 1 -2
+ 1 0 1 0 -1
+
+
+0 0 0 # for future options...
+
+
+1 # set the iterator names
+coordT1 coordP1 other1 other2 other3 other4 other5 other6
+
+# --------------------- SCATTERING --------------------
+8 # Scattering functions
+7 14
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 -1
+ 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 12
+ 0 1 0 0 0 0 0 0 -1 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 -1
+ 0 0 0 1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0
+
+
+1 # we set the scattering dimension names
+glT1 bl rp1 stmtType local1 local2 local3
+
diff --git a/test/daegon_lu_osp.cloog b/test/daegon_lu_osp.cloog
new file mode 100644 (file)
index 0000000..a88b432
--- /dev/null
@@ -0,0 +1,80 @@
+###############################################################################
+#
+# Problem  : LU Decomposition + 
+# Date     : 2005. 4. 25
+# Author   : DaeGon Kim
+#
+###############################################################################
+
+### Context -------------------------------------------------------------------
+   c # language is c
+
+   1          # Context
+   1 3            # 1 lines and 3 coloumns
+   #  N1   1
+   1   1  -2      # N > 1
+
+   1              # 1 - Specify the names of parameters
+   N1             # parameter names
+
+### ----------------------------------------------------------------------------
+
+### Statements -----------------------------------------------------------------
+   2                             # number of statements
+   # first statement
+   1
+   7    6
+   # Eq/In  J       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J
+    1       0       0       1       0       0        # 0 <= K
+    1      -1       0       0       1       0        # I <= N1
+    1       0      -1       0       1       0        # J <= N1
+    1       1       0      -1       0       0        # K <= I
+    1       0       1      -1       0       0        # K <= J
+    0       0       0
+   
+   # second statement
+   1
+   6    6
+   # Eq/In  I       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J
+    1       0       0       1       0       0        # 0 <= K
+    1       0      -1       0       1       0        # J <= N1
+    1      -1       1       0       0       0        # I <= J
+    1      -1       1      -2       0       0        # 2K <= J-I
+    0       0       0
+
+    1                # Iterators
+    J1  J2  J3       # Iterators name
+
+### ----------------------------------------------------------------------------
+
+    
+### Scattering Functions -------------------------------------------------------
+
+    2    # Number of scattering functions
+
+    # First statement
+    3 9 
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0  -1  -1  -1   0   0    # I1 = I+J+K
+    0   0   1   0  -1   0   0   0   0    # I2 = I
+    0   0   0   1   0  -1   0   0   0    # I3 = J
+
+    # Second statement
+    3 9
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0   2  -2   1   0   0     # I1 = -2I + 2J - K
+    0   0   1   0  -1   0   0   0   0     # I2 = I
+    0   0   0   1   0  -1   0   0   0     # I3 = J
+
+
+    1          # Specify scattering dimension names
+    I1  I2  I3 # Scattering dimension names
+
+### ----------------------------------------------------------------------------
+
+
+
diff --git a/test/darte.c.polylib b/test/darte.c.polylib
new file mode 100644 (file)
index 0000000..b6e6c02
--- /dev/null
@@ -0,0 +1,432 @@
+/* Generated from darte.cloog by CLooG v0.14.0 gmp bits in 0.25s. */
+/* CLooG asked for 460 KBytes. */
+if (n >= 1) {
+  t1 = -n+1 ;
+  t2 = n+1 ;
+  for (t3=n+3;t3<=3*n+1;t3++) {
+    if ((t3+n+1)%2 == 0) {
+      k = (t3-n-1)/2 ;
+      S1(i = 1,j = n) ;
+    }
+  }
+}
+if ((n >= 2) && (n <= 2)) {
+  t1 = -n+2 ;
+  for (t2=-n+4;t2<=3*n-2;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t2+n)%2 == 0) {
+        i = (t2-n+2)/2 ;
+        j = (t2+n-2)/2 ;
+        if ((t3+n)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = n+3 ;
+  for (t3=1;t3<=n;t3++) {
+    S2(i = 1,j = n,k = t3) ;
+  }
+}
+if (n >= 3) {
+  t1 = -n+2 ;
+  for (t2=n;t2<=n+2;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t2+n)%2 == 0) {
+        i = (t2-n+2)/2 ;
+        j = (t2+n-2)/2 ;
+        if ((t3+n)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = n+3 ;
+  for (t3=1;t3<=n;t3++) {
+    S2(i = 1,j = n,k = t3) ;
+  }
+}
+for (t1=ceild(-2*n+5,2);t1<=min(-n+6,-1);t1++) {
+  for (t2=-t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = t1+2*n+1 ;
+  for (t3=1;t3<=n;t3++) {
+    i = t1+n-1 ;
+    S2(j = n,k = t3) ;
+  }
+}
+if (n == 2) {
+  for (t3=5;t3<=7;t3++) {
+    if ((t3+1)%2 == 0) {
+      k = (t3-3)/2 ;
+      S1(i = 2,j = 1) ;
+    }
+  }
+  for (t2=4;t2<=6;t2++) {
+    for (t3=1;t3<=2;t3++) {
+      if (t2%2 == 0) {
+        i = (t2-2)/2 ;
+        j = (t2-2)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+for (t1=-n+7;t1<=-1;t1++) {
+  for (t2=-t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = t1+2*n+1 ;
+  for (t3=1;t3<=n;t3++) {
+    i = t1+n-1 ;
+    S2(j = n,k = t3) ;
+  }
+}
+if (n >= 3) {
+  for (t1=0;t1<=min(1,-n+6);t1++) {
+    for (t2=t1+2;t2<=-t1+4;t2++) {
+      for (t3=t2+2;t3<=t2+2*n;t3++) {
+        if ((t1+t2)%2 == 0) {
+          i = (t1+t2)/2 ;
+          j = (-t1+t2)/2 ;
+          if ((t1+t3)%2 == 0) {
+            k = (-t2+t3)/2 ;
+            S1 ;
+          }
+        }
+      }
+    }
+    for (t2=-t1+5;t2<=-t1+2*n;t2++) {
+      for (t3=1;t3<=n;t3++) {
+        if ((t1+t2+1)%2 == 0) {
+          i = (t1+t2-3)/2 ;
+          j = (-t1+t2-1)/2 ;
+          S2(k = t3) ;
+        }
+      }
+      for (t3=t2+2;t3<=t2+2*n;t3++) {
+        if ((t1+t2)%2 == 0) {
+          i = (t1+t2)/2 ;
+          j = (-t1+t2)/2 ;
+          if ((t1+t3)%2 == 0) {
+            k = (-t2+t3)/2 ;
+            S1 ;
+          }
+        }
+      }
+    }
+    for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) {
+      for (t3=1;t3<=n;t3++) {
+        if ((t1+t2+1)%2 == 0) {
+          i = (t1+t2-3)/2 ;
+          j = (-t1+t2-1)/2 ;
+          S2(k = t3) ;
+        }
+      }
+    }
+  }
+}
+for (t1=max(-n+7,0);t1<=1;t1++) {
+  for (t2=t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=t1+2*n+1;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+for (t1=2;t1<=n-5;t1++) {
+  t2 = t1+2 ;
+  for (t3=t1+4;t3<=t1+2*n+2;t3++) {
+    i = t1+1 ;
+    if ((t1+t3)%2 == 0) {
+      k = (-t1+t3-2)/2 ;
+      S1(j = 1) ;
+    }
+  }
+  for (t2=t1+3;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+for (t1=max(2,n-4);t1<=floord(2*n-3,2);t1++) {
+  t2 = t1+2 ;
+  for (t3=t1+4;t3<=t1+2*n+2;t3++) {
+    i = t1+1 ;
+    if ((t1+t3)%2 == 0) {
+      k = (-t1+t3-2)/2 ;
+      S1(j = 1) ;
+    }
+  }
+  for (t2=t1+3;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+if (n >= 3) {
+  t1 = n-1 ;
+  t2 = n+1 ;
+  for (t3=n+3;t3<=3*n+1;t3++) {
+    if ((t3+n+1)%2 == 0) {
+      k = (t3-n-1)/2 ;
+      S1(i = n,j = 1) ;
+    }
+  }
+  for (t2=n+2;t2<=n+4;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t2+n)%2 == 0) {
+        i = (t2+n-4)/2 ;
+        j = (t2-n)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+if (n >= 1) {
+  t2 = n+3 ;
+  for (t3=1;t3<=n;t3++) {
+    S2(i = n,j = 1,k = t3) ;
+  }
+}
diff --git a/test/darte.c.ppl b/test/darte.c.ppl
new file mode 100644 (file)
index 0000000..2d14c7c
--- /dev/null
@@ -0,0 +1,425 @@
+/* Generated from ./darte.cloog by CLooG 0.15 64 bits in 0.24s. */
+if (n >= 1) {
+  t1 = -n+1 ;
+  t2 = n+1 ;
+  for (t3=n+3;t3<=3*n+1;t3++) {
+    if ((t3+n+1)%2 == 0) {
+      k = (t3-n-1)/2 ;
+      S1(i = 1,j = n) ;
+    }
+  }
+}
+if (n >= 2) {
+  t1 = -n+2 ;
+  for (t2=max(n,-n+4);t2<=min(3*n-2,n+2);t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t2+n)%2 == 0) {
+        i = (t2-n+2)/2 ;
+        j = (t2+n-2)/2 ;
+        if ((t3+n)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = n+3 ;
+  for (t3=1;t3<=n;t3++) {
+    S2(i = 1,j = n,k = t3) ;
+  }
+}
+if (n == 2) {
+  for (t3=5;t3<=7;t3++) {
+    if ((t3+1)%2 == 0) {
+      k = (t3-3)/2 ;
+      S1(i = 2,j = 1) ;
+    }
+  }
+  for (t2=4;t2<=5;t2++) {
+    for (t3=1;t3<=2;t3++) {
+      if (t2%2 == 0) {
+        i = (t2-2)/2 ;
+        j = (t2-2)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+  for (t3=1;t3<=2;t3++) {
+    S2(i = 2,j = 2,k = t3) ;
+  }
+}
+for (t1=ceild(-2*n+5,2);t1<=min(-n+6,0);t1++) {
+  for (t2=-t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = t1+2*n+1 ;
+  for (t3=1;t3<=n;t3++) {
+    i = t1+n-1 ;
+    S2(j = n,k = t3) ;
+  }
+}
+for (t1=-n+7;t1<=0;t1++) {
+  for (t2=-t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  t2 = t1+2*n+1 ;
+  for (t3=1;t3<=n;t3++) {
+    i = t1+n-1 ;
+    S2(j = n,k = t3) ;
+  }
+}
+if (n >= 3) {
+  for (t1=1;t1<=min(-n+6,1);t1++) {
+    for (t2=t1+2;t2<=-t1+4;t2++) {
+      for (t3=t2+2;t3<=t2+2*n;t3++) {
+        if ((t1+t2)%2 == 0) {
+          i = (t1+t2)/2 ;
+          j = (-t1+t2)/2 ;
+          if ((t1+t3)%2 == 0) {
+            k = (-t2+t3)/2 ;
+            S1 ;
+          }
+        }
+      }
+    }
+    for (t2=-t1+5;t2<=-t1+2*n;t2++) {
+      for (t3=1;t3<=n;t3++) {
+        if ((t1+t2+1)%2 == 0) {
+          i = (t1+t2-3)/2 ;
+          j = (-t1+t2-1)/2 ;
+          S2(k = t3) ;
+        }
+      }
+      for (t3=t2+2;t3<=t2+2*n;t3++) {
+        if ((t1+t2)%2 == 0) {
+          i = (t1+t2)/2 ;
+          j = (-t1+t2)/2 ;
+          if ((t1+t3)%2 == 0) {
+            k = (-t2+t3)/2 ;
+            S1 ;
+          }
+        }
+      }
+    }
+    for (t2=-t1+2*n+1;t2<=t1+2*n;t2++) {
+      for (t3=1;t3<=n;t3++) {
+        if ((t1+t2+1)%2 == 0) {
+          i = (t1+t2-3)/2 ;
+          j = (-t1+t2-1)/2 ;
+          S2(k = t3) ;
+        }
+      }
+    }
+    t2 = t1+2*n+1 ;
+    for (t3=1;t3<=n;t3++) {
+      i = t1+n-1 ;
+      S2(j = n,k = t3) ;
+    }
+  }
+}
+for (t1=max(1,-n+7);t1<=1;t1++) {
+  for (t2=t1+2;t2<=-t1+4;t2++) {
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+5;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+  t2 = t1+2*n+1 ;
+  for (t3=1;t3<=n;t3++) {
+    i = t1+n-1 ;
+    S2(j = n,k = t3) ;
+  }
+}
+for (t1=2;t1<=n-5;t1++) {
+  t2 = t1+2 ;
+  for (t3=t1+4;t3<=t1+2*n+2;t3++) {
+    i = t1+1 ;
+    if ((t1+t3)%2 == 0) {
+      k = (-t1+t3-2)/2 ;
+      S1(j = 1) ;
+    }
+  }
+  for (t2=t1+3;t2<=n-2;t2++) {
+    for (t3=1;t3<=t2+1;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+    for (t3=n+1;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=n-1;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+for (t1=max(n-4,2);t1<=floord(2*n-3,2);t1++) {
+  t2 = t1+2 ;
+  for (t3=t1+4;t3<=t1+2*n+2;t3++) {
+    i = t1+1 ;
+    if ((t1+t3)%2 == 0) {
+      k = (-t1+t3-2)/2 ;
+      S1(j = 1) ;
+    }
+  }
+  for (t2=t1+3;t2<=-t1+2*n;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+    for (t3=t2+2;t3<=t2+2*n;t3++) {
+      if ((t1+t2)%2 == 0) {
+        i = (t1+t2)/2 ;
+        j = (-t1+t2)/2 ;
+        if ((t1+t3)%2 == 0) {
+          k = (-t2+t3)/2 ;
+          S1 ;
+        }
+      }
+    }
+  }
+  for (t2=-t1+2*n+1;t2<=-t1+2*n+3;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t1+t2+1)%2 == 0) {
+        i = (t1+t2-3)/2 ;
+        j = (-t1+t2-1)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+if (n >= 3) {
+  t1 = n-1 ;
+  t2 = n+1 ;
+  for (t3=n+3;t3<=3*n+1;t3++) {
+    if ((t3+n+1)%2 == 0) {
+      k = (t3-n-1)/2 ;
+      S1(i = n,j = 1) ;
+    }
+  }
+  for (t2=n+2;t2<=n+4;t2++) {
+    for (t3=1;t3<=n;t3++) {
+      if ((t2+n)%2 == 0) {
+        i = (t2+n-4)/2 ;
+        j = (t2-n)/2 ;
+        S2(k = t3) ;
+      }
+    }
+  }
+}
+if (n >= 1) {
+  t2 = n+3 ;
+  for (t3=1;t3<=n;t3++) {
+    S2(i = n,j = 1,k = t3) ;
+  }
+}
diff --git a/test/darte.cloog b/test/darte.cloog
new file mode 100644 (file)
index 0000000..a853691
--- /dev/null
@@ -0,0 +1,52 @@
+# language: C
+c
+
+# parameters n m
+1 3
+#  n  1
+1  0  0
+1
+n
+
+2 # Number of statements
+
+1
+# S1 {i, j, k | 1<=i<=n; 1<=j<=n,  1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+
+1
+# S2 {i, j, k | 1<=i<=n; 1<=j<=n,  1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+0
+
+2
+# Scattering functions
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0 -1  1  0  0  0
+0  0  1  0 -1 -1  0  0  0
+0  0  0  1 -1 -1 -2  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0 -1  1  0  0 -1
+0  0  1  0 -1 -1  0  0 -2
+0  0  0  1  0  0 -1  0  0
+1
+t1 t2 t3
diff --git a/test/dartef.cloog b/test/dartef.cloog
new file mode 100644 (file)
index 0000000..14454e2
--- /dev/null
@@ -0,0 +1,52 @@
+# language: FORTRAN
+f
+
+# parameters n m
+1 3
+#  n  1
+1  0  0
+1
+n
+
+2 # Number of statements
+
+1
+# S1 {i, j, k | 1<=i<=n; 1<=j<=n,  1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+
+1
+# S2 {i, j, k | 1<=i<=n; 1<=j<=n,  1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+0
+
+2
+# Scattering functions
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0 -1  1  0  0  0
+0  0  1  0 -1 -1  0  0  0
+0  0  0  1 -1 -1 -2  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0 -1  1  0  0 -1
+0  0  1  0 -1 -1  0  0 -2
+0  0  0  1  0  0 -1  0  0
+1
+t1 t2 t3
diff --git a/test/dartef.f.polylib b/test/dartef.f.polylib
new file mode 100644 (file)
index 0000000..f8b1454
--- /dev/null
@@ -0,0 +1,432 @@
+! Generated from dartef.cloog by CLooG v0.14.0 gmp bits in 0.24s.
+! CLooG asked for 460 KBytes.
+IF (n >= 1) THEN
+  t1 = -n+1
+  t2 = n+1
+  DO t3=n+3, 3*n+1
+    IF (MOD(t3+n+1, 2) == 0) THEN
+      k = (t3-n-1)/2
+      S1(i = 1,j = n)
+    END IF
+  END DO
+END IF
+IF ((n >= 2) .AND. (n <= 2)) THEN
+  t1 = -n+2
+  DO t2=-n+4, 3*n-2
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t2+n, 2) == 0) THEN
+        i = (t2-n+2)/2
+        j = (t2+n-2)/2
+        IF (MOD(t3+n, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = n+3
+  DO t3=1, n
+    S2(i = 1,j = n,k = t3)
+  END DO
+END IF
+IF (n >= 3) THEN
+  t1 = -n+2
+  DO t2=n, n+2
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t2+n, 2) == 0) THEN
+        i = (t2-n+2)/2
+        j = (t2+n-2)/2
+        IF (MOD(t3+n, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = n+3
+  DO t3=1, n
+    S2(i = 1,j = n,k = t3)
+  END DO
+END IF
+DO t1=CEILING(REAL(-2*n+5)/REAL(2)), MIN(-n+6,-1)
+  DO t2=-t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = t1+2*n+1
+  DO t3=1, n
+    i = t1+n-1
+    S2(j = n,k = t3)
+  END DO
+END DO
+IF (n == 2) THEN
+  DO t3=5, 7
+    IF (MOD(t3+1, 2) == 0) THEN
+      k = (t3-3)/2
+      S1(i = 2,j = 1)
+    END IF
+  END DO
+  DO t2=4, 6
+    DO t3=1, 2
+      IF (MOD(t2, 2) == 0) THEN
+        i = (t2-2)/2
+        j = (t2-2)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END IF
+DO t1=-n+7, -1
+  DO t2=-t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = t1+2*n+1
+  DO t3=1, n
+    i = t1+n-1
+    S2(j = n,k = t3)
+  END DO
+END DO
+IF (n >= 3) THEN
+  DO t1=0, MIN(1,-n+6)
+    DO t2=t1+2, -t1+4
+      DO t3=t2+2, t2+2*n
+        IF (MOD(t1+t2, 2) == 0) THEN
+          i = (t1+t2)/2
+          j = (-t1+t2)/2
+          IF (MOD(t1+t3, 2) == 0) THEN
+            k = (-t2+t3)/2
+            S1
+          END IF
+        END IF
+      END DO
+    END DO
+    DO t2=-t1+5, -t1+2*n
+      DO t3=1, n
+        IF (MOD(t1+t2+1, 2) == 0) THEN
+          i = (t1+t2-3)/2
+          j = (-t1+t2-1)/2
+          S2(k = t3)
+        END IF
+      END DO
+      DO t3=t2+2, t2+2*n
+        IF (MOD(t1+t2, 2) == 0) THEN
+          i = (t1+t2)/2
+          j = (-t1+t2)/2
+          IF (MOD(t1+t3, 2) == 0) THEN
+            k = (-t2+t3)/2
+            S1
+          END IF
+        END IF
+      END DO
+    END DO
+    DO t2=-t1+2*n+1, t1+2*n+1
+      DO t3=1, n
+        IF (MOD(t1+t2+1, 2) == 0) THEN
+          i = (t1+t2-3)/2
+          j = (-t1+t2-1)/2
+          S2(k = t3)
+        END IF
+      END DO
+    END DO
+  END DO
+END IF
+DO t1=MAX(-n+7,0), 1
+  DO t2=t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, t1+2*n+1
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END DO
+DO t1=2, n-5
+  t2 = t1+2
+  DO t3=t1+4, t1+2*n+2
+    i = t1+1
+    IF (MOD(t1+t3, 2) == 0) THEN
+      k = (-t1+t3-2)/2
+      S1(j = 1)
+    END IF
+  END DO
+  DO t2=t1+3, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, -t1+2*n+3
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END DO
+DO t1=MAX(2,n-4), FLOOR(REAL(2*n-3)/REAL(2))
+  t2 = t1+2
+  DO t3=t1+4, t1+2*n+2
+    i = t1+1
+    IF (MOD(t1+t3, 2) == 0) THEN
+      k = (-t1+t3-2)/2
+      S1(j = 1)
+    END IF
+  END DO
+  DO t2=t1+3, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, -t1+2*n+3
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END DO
+IF (n >= 3) THEN
+  t1 = n-1
+  t2 = n+1
+  DO t3=n+3, 3*n+1
+    IF (MOD(t3+n+1, 2) == 0) THEN
+      k = (t3-n-1)/2
+      S1(i = n,j = 1)
+    END IF
+  END DO
+  DO t2=n+2, n+4
+    DO t3=1, n
+      IF (MOD(t2+n, 2) == 0) THEN
+        i = (t2+n-4)/2
+        j = (t2-n)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END IF
+IF (n >= 1) THEN
+  t2 = n+3
+  DO t3=1, n
+    S2(i = n,j = 1,k = t3)
+  END DO
+END IF
diff --git a/test/dartef.f.ppl b/test/dartef.f.ppl
new file mode 100644 (file)
index 0000000..dae56ec
--- /dev/null
@@ -0,0 +1,425 @@
+! Generated from ./dartef.cloog by CLooG 0.15 64 bits in 0.24s.
+IF (n >= 1) THEN
+  t1 = -n+1
+  t2 = n+1
+  DO t3=n+3, 3*n+1
+    IF (MOD(t3+n+1, 2) == 0) THEN
+      k = (t3-n-1)/2
+      S1(i = 1,j = n)
+    END IF
+  END DO
+END IF
+IF (n >= 2) THEN
+  t1 = -n+2
+  DO t2=MAX(n,-n+4), MIN(3*n-2,n+2)
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t2+n, 2) == 0) THEN
+        i = (t2-n+2)/2
+        j = (t2+n-2)/2
+        IF (MOD(t3+n, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = n+3
+  DO t3=1, n
+    S2(i = 1,j = n,k = t3)
+  END DO
+END IF
+IF (n == 2) THEN
+  DO t3=5, 7
+    IF (MOD(t3+1, 2) == 0) THEN
+      k = (t3-3)/2
+      S1(i = 2,j = 1)
+    END IF
+  END DO
+  DO t2=4, 5
+    DO t3=1, 2
+      IF (MOD(t2, 2) == 0) THEN
+        i = (t2-2)/2
+        j = (t2-2)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+  DO t3=1, 2
+    S2(i = 2,j = 2,k = t3)
+  END DO
+END IF
+DO t1=CEILING(REAL(-2*n+5)/REAL(2)), MIN(-n+6,0)
+  DO t2=-t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = t1+2*n+1
+  DO t3=1, n
+    i = t1+n-1
+    S2(j = n,k = t3)
+  END DO
+END DO
+DO t1=-n+7, 0
+  DO t2=-t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  t2 = t1+2*n+1
+  DO t3=1, n
+    i = t1+n-1
+    S2(j = n,k = t3)
+  END DO
+END DO
+IF (n >= 3) THEN
+  DO t1=1, MIN(-n+6,1)
+    DO t2=t1+2, -t1+4
+      DO t3=t2+2, t2+2*n
+        IF (MOD(t1+t2, 2) == 0) THEN
+          i = (t1+t2)/2
+          j = (-t1+t2)/2
+          IF (MOD(t1+t3, 2) == 0) THEN
+            k = (-t2+t3)/2
+            S1
+          END IF
+        END IF
+      END DO
+    END DO
+    DO t2=-t1+5, -t1+2*n
+      DO t3=1, n
+        IF (MOD(t1+t2+1, 2) == 0) THEN
+          i = (t1+t2-3)/2
+          j = (-t1+t2-1)/2
+          S2(k = t3)
+        END IF
+      END DO
+      DO t3=t2+2, t2+2*n
+        IF (MOD(t1+t2, 2) == 0) THEN
+          i = (t1+t2)/2
+          j = (-t1+t2)/2
+          IF (MOD(t1+t3, 2) == 0) THEN
+            k = (-t2+t3)/2
+            S1
+          END IF
+        END IF
+      END DO
+    END DO
+    DO t2=-t1+2*n+1, t1+2*n
+      DO t3=1, n
+        IF (MOD(t1+t2+1, 2) == 0) THEN
+          i = (t1+t2-3)/2
+          j = (-t1+t2-1)/2
+          S2(k = t3)
+        END IF
+      END DO
+    END DO
+    t2 = t1+2*n+1
+    DO t3=1, n
+      i = t1+n-1
+      S2(j = n,k = t3)
+    END DO
+  END DO
+END IF
+DO t1=MAX(1,-n+7), 1
+  DO t2=t1+2, -t1+4
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+5, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+  t2 = t1+2*n+1
+  DO t3=1, n
+    i = t1+n-1
+    S2(j = n,k = t3)
+  END DO
+END DO
+DO t1=2, n-5
+  t2 = t1+2
+  DO t3=t1+4, t1+2*n+2
+    i = t1+1
+    IF (MOD(t1+t3, 2) == 0) THEN
+      k = (-t1+t3-2)/2
+      S1(j = 1)
+    END IF
+  END DO
+  DO t2=t1+3, n-2
+    DO t3=1, t2+1
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+    DO t3=n+1, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=n-1, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, -t1+2*n+3
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END DO
+DO t1=MAX(n-4,2), FLOOR(REAL(2*n-3)/REAL(2))
+  t2 = t1+2
+  DO t3=t1+4, t1+2*n+2
+    i = t1+1
+    IF (MOD(t1+t3, 2) == 0) THEN
+      k = (-t1+t3-2)/2
+      S1(j = 1)
+    END IF
+  END DO
+  DO t2=t1+3, -t1+2*n
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+    DO t3=t2+2, t2+2*n
+      IF (MOD(t1+t2, 2) == 0) THEN
+        i = (t1+t2)/2
+        j = (-t1+t2)/2
+        IF (MOD(t1+t3, 2) == 0) THEN
+          k = (-t2+t3)/2
+          S1
+        END IF
+      END IF
+    END DO
+  END DO
+  DO t2=-t1+2*n+1, -t1+2*n+3
+    DO t3=1, n
+      IF (MOD(t1+t2+1, 2) == 0) THEN
+        i = (t1+t2-3)/2
+        j = (-t1+t2-1)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END DO
+IF (n >= 3) THEN
+  t1 = n-1
+  t2 = n+1
+  DO t3=n+3, 3*n+1
+    IF (MOD(t3+n+1, 2) == 0) THEN
+      k = (t3-n-1)/2
+      S1(i = n,j = 1)
+    END IF
+  END DO
+  DO t2=n+2, n+4
+    DO t3=1, n
+      IF (MOD(t2+n, 2) == 0) THEN
+        i = (t2+n-4)/2
+        j = (t2-n)/2
+        S2(k = t3)
+      END IF
+    END DO
+  END DO
+END IF
+IF (n >= 1) THEN
+  t2 = n+3
+  DO t3=1, n
+    S2(i = n,j = 1,k = t3)
+  END DO
+END IF
diff --git a/test/diagonal.cloog b/test/diagonal.cloog
new file mode 100644 (file)
index 0000000..134134e
--- /dev/null
@@ -0,0 +1,31 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+0 3
+1
+n m
+
+2 # Number of statements:
+
+1
+# {i, j | 1<=i<=n 1<=j<=n}
+4 5
+#   i   j   n    1
+1   1   0   0   -1
+1  -1   0   1    0
+1   0   1   0   -1
+1   0  -1   1    0
+0   0   0
+
+1
+# {i, j | i=j 1<=j<=n}
+3 5
+#   i   j   n    1
+0   1  -1   0    0
+1   0   1   0   -1
+1   0  -1   1    0
+0   0   0
+0
+
+0 # Scattering functions
diff --git a/test/donotsimp.c.polylib b/test/donotsimp.c.polylib
new file mode 100644 (file)
index 0000000..8c09e40
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./test/donotsimp.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=10;c2++) {
+  for (c4=1;c4<=c2;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+  for (c4=11;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/donotsimp.c.ppl b/test/donotsimp.c.ppl
new file mode 100644 (file)
index 0000000..705c446
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./donotsimp.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c2=1;c2<=10;c2++) {
+  for (c4=1;c4<=c2;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+  for (c4=11;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/donotsimp.cloog b/test/donotsimp.cloog
new file mode 100644 (file)
index 0000000..6450917
--- /dev/null
@@ -0,0 +1,54 @@
+# Language
+c
+
+# Context
+
+# {n>=20}
+    1 3
+    1    1  -20
+0
+
+# Number of statments
+2
+
+1
+# {i,j | 0<=i<=10 1<=j<=i}
+
+    4 5
+    1    1    0    0    -1
+    1   -1    0    0    10
+    1    0    1    0    -1
+    1    1   -1    0     0
+0 0 0
+
+1
+# {i,j | 0<=i<=10 11<=j<=n}
+
+    4 5
+    1    1    0    0    -1
+    1   -1    0    0    10
+    1    0    1    0   -11
+    1    0   -1    1     0
+0 0 0
+
+0
+# Scattering functions
+2
+
+    5 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+
+    5 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+
+
+0
+
diff --git a/test/dot.c.polylib b/test/dot.c.polylib
new file mode 100644 (file)
index 0000000..12637db
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated by CLooG v0.10.7 */
+for (j=1;j<=M;j++) {
+  S1(i = 0) ;
+}
+for (i=1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/dot.c.ppl b/test/dot.c.ppl
new file mode 100644 (file)
index 0000000..84b3bd6
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./dot.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (j=1;j<=M;j++) {
+  S1(i = 0) ;
+}
+for (i=1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/dot.cloog b/test/dot.cloog
new file mode 100644 (file)
index 0000000..112816e
--- /dev/null
@@ -0,0 +1,33 @@
+# language: C
+c
+
+# parameters {M, N | M>=1 N >=1}
+2 4
+1  1  0 -1
+1  0  1 -1
+0
+
+2 # Number of statements
+
+1
+# {i, j | i=0 0<=i<=N 1<=j<=M}
+5 6
+0  1  0  0  0  0
+1  1  0  0  0  0
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+
+1
+# {i, j | i>=1 0<=i<=N 1<=j<=M}
+5 6
+1  1  0  0  0 -1
+1  1  0  0  0  0
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+0
+0 # Scattering functions
diff --git a/test/dot2.c.polylib b/test/dot2.c.polylib
new file mode 100644 (file)
index 0000000..b9b6717
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=min(M,N);i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  S1 ;
+}
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/dot2.c.ppl b/test/dot2.c.ppl
new file mode 100644 (file)
index 0000000..7d510de
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated from ./dot2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=1;i<=min(M,N);i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  S1 ;
+}
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/dot2.cloog b/test/dot2.cloog
new file mode 100644 (file)
index 0000000..71f471a
--- /dev/null
@@ -0,0 +1,29 @@
+# language: C
+c
+
+# parameters {M, N | M>=1 N >=1}
+2 4
+1  1  0 -1
+1  0  1 -1
+0
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=M}
+2 5
+1  1  0  0 -1
+1 -1  1  0  0
+0  0  0
+
+1
+# {i, j | 1<=i<=N 1<=j<=M}
+4 6
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+0
+0 # Scattering functions
diff --git a/test/double.c.polylib b/test/double.c.polylib
new file mode 100644 (file)
index 0000000..aec4b60
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=M;i++) {
+  S1 ;
+  for (j=0;j<=N;j++) {
+    S2 ;
+    S3 ;
+  }
+  S4 ;
+}
diff --git a/test/double.c.ppl b/test/double.c.ppl
new file mode 100644 (file)
index 0000000..f0656f5
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./double.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=M;i++) {
+  S1 ;
+  for (j=0;j<=N;j++) {
+    S2 ;
+    S3 ;
+  }
+  S4 ;
+}
diff --git a/test/double.cloog b/test/double.cloog
new file mode 100644 (file)
index 0000000..a9db60d
--- /dev/null
@@ -0,0 +1,69 @@
+# language: C
+c
+
+# parameters n m
+1 4
+#  n  m  1
+1  0  1  0
+0
+
+4 # Number of statements
+
+1
+# S1 {i | 0<=i<=n}
+2 5
+#  i  n  m  1
+1  1  0  0  0
+1 -1  1  0  0
+0  0  0
+
+1
+# S2 {i, j | 0<=i<=n; 0<=j<=m}
+4 6
+#  i  j  n  m  1
+1  1  0  0  0  0
+1 -1  0  1  0  0
+1  0  1  0  0  0
+1  0 -1  0  1  0
+0  0  0
+
+1
+# S3 {i, j | 0<=i<=n; 0<=j<=m}
+4 6
+#  i  j  n  m  1
+1  1  0  0  0  0
+1 -1  0  1  0  0
+1  0  1  0  0  0
+1  0 -1  0  1  0
+0  0  0
+
+1
+# S4 {i | 0<=i<=n}
+2 5
+#  i  n  m  1
+1  1  0  0  0
+1 -1  1  0  0
+0  0  0
+0
+
+0 # Scattering functions
+2 7
+# c1 C2  i  n  m  1
+0  1  0 -1  0  0  0
+0  0  1  0  0  0 -1
+
+2 8
+# c1 C2  i  j  n  m  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0  0  0 -2
+
+2 8
+# c1 C2  i  j  n  m  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0  0  0 -3
+
+2 7
+# c1 C2  i  n  m  1
+0  1  0 -1  0  0  0
+0  0  1  0  0  0 -4
+0
diff --git a/test/durbin_e_s.c.polylib b/test/durbin_e_s.c.polylib
new file mode 100644 (file)
index 0000000..25a3384
--- /dev/null
@@ -0,0 +1,56 @@
+/* Generated by CLooG v0.10.7 */
+S4(i = 1,j = 0,k = 0) ;
+S7(i = 1,j = 0,k = 0) ;
+S8(i = 1,j = 0,k = 3) ;
+S2(i = 2,j = -7,k = 0) ;
+S3(i = 2,j = -7,k = 1) ;
+S6(i = 2,j = -7,k = 2) ;
+S8(i = 2,j = 0,k = 3) ;
+S5(i = 2,j = 1,k = 3) ;
+S2(i = 3,j = -7,k = 0) ;
+S3(i = 3,j = -7,k = 1) ;
+S3(i = 3,j = -6,k = 1) ;
+S6(i = 3,j = -6,k = 2) ;
+S8(i = 3,j = 0,k = 3) ;
+for (j=1;j<=2;j++) {
+  S5(i = 3,k = 3) ;
+}
+for (i=4;i<=8;i++) {
+  S2(j = -7,k = 0) ;
+  S3(j = -7,k = 1) ;
+  for (j=-6;j<=i-10;j++) {
+    S3(k = 1) ;
+  }
+  j = i-9 ;
+  S3(k = 1) ;
+  S6(k = 2) ;
+  S8(j = 0,k = 3) ;
+  for (j=1;j<=i-1;j++) {
+    S5(k = 3) ;
+  }
+}
+S2(i = 9,j = -7,k = 0) ;
+S3(i = 9,j = -7,k = 1) ;
+for (j=-6;j<=-1;j++) {
+  S3(i = 9,k = 1) ;
+}
+S3(i = 9,j = 0,k = 1) ;
+S6(i = 9,j = 0,k = 2) ;
+S8(i = 9,j = 0,k = 3) ;
+for (j=1;j<=8;j++) {
+  S5(i = 9,k = 3) ;
+}
+S2(i = 10,j = -7,k = 0) ;
+S3(i = 10,j = -7,k = 1) ;
+for (j=-6;j<=0;j++) {
+  S3(i = 10,k = 1) ;
+}
+S3(i = 10,j = 1,k = 1) ;
+S6(i = 10,j = 1,k = 2) ;
+S5(i = 10,j = 1,k = 3) ;
+S1(i = 10,j = 1,k = 4) ;
+for (j=2;j<=9;j++) {
+  S5(i = 10,k = 3) ;
+  S1(i = 10,k = 4) ;
+}
+S1(i = 10,j = 10,k = 4) ;
diff --git a/test/durbin_e_s.c.ppl b/test/durbin_e_s.c.ppl
new file mode 100644 (file)
index 0000000..91937d9
--- /dev/null
@@ -0,0 +1,56 @@
+/* Generated from ./durbin_e_s.cloog by CLooG 0.15 64 bits in 0.06s. */
+S4(i = 1,j = 0,k = 0) ;
+S7(i = 1,j = 0,k = 0) ;
+S8(i = 1,j = 0,k = 3) ;
+S2(i = 2,j = -7,k = 0) ;
+S3(i = 2,j = -7,k = 1) ;
+S6(i = 2,j = -7,k = 2) ;
+S8(i = 2,j = 0,k = 3) ;
+S5(i = 2,j = 1,k = 3) ;
+S2(i = 3,j = -7,k = 0) ;
+S3(i = 3,j = -7,k = 1) ;
+S3(i = 3,j = -6,k = 1) ;
+S6(i = 3,j = -6,k = 2) ;
+S8(i = 3,j = 0,k = 3) ;
+for (j=1;j<=2;j++) {
+  S5(i = 3,k = 3) ;
+}
+for (i=4;i<=8;i++) {
+  S2(j = -7,k = 0) ;
+  S3(j = -7,k = 1) ;
+  for (j=-6;j<=i-10;j++) {
+    S3(k = 1) ;
+  }
+  j = i-9 ;
+  S3(k = 1) ;
+  S6(k = 2) ;
+  S8(j = 0,k = 3) ;
+  for (j=1;j<=i-1;j++) {
+    S5(k = 3) ;
+  }
+}
+S2(i = 9,j = -7,k = 0) ;
+S3(i = 9,j = -7,k = 1) ;
+for (j=-6;j<=-1;j++) {
+  S3(i = 9,k = 1) ;
+}
+S3(i = 9,j = 0,k = 1) ;
+S6(i = 9,j = 0,k = 2) ;
+S8(i = 9,j = 0,k = 3) ;
+for (j=1;j<=8;j++) {
+  S5(i = 9,k = 3) ;
+}
+S2(i = 10,j = -7,k = 0) ;
+S3(i = 10,j = -7,k = 1) ;
+for (j=-6;j<=0;j++) {
+  S3(i = 10,k = 1) ;
+}
+S3(i = 10,j = 1,k = 1) ;
+S6(i = 10,j = 1,k = 2) ;
+S5(i = 10,j = 1,k = 3) ;
+S1(i = 10,j = 1,k = 4) ;
+for (j=2;j<=9;j++) {
+  S5(i = 10,k = 3) ;
+  S1(i = 10,k = 4) ;
+}
+S1(i = 10,j = 10,k = 4) ;
diff --git a/test/durbin_e_s.cloog b/test/durbin_e_s.cloog
new file mode 100644 (file)
index 0000000..cffdbc5
--- /dev/null
@@ -0,0 +1,72 @@
+# language: C
+c
+
+# Context
+1
+0 2
+
+0 # parameter names
+
+
+8 # Number of statements
+
+1
+4 5
+    0      1      0      0    -10  
+    0      0      0      1     -4  
+    1      0      1      0     -1  
+    1      0     -1      0     10  
+0 0 0
+1
+4 5
+    0      0      1      0      7  
+    0      0      0      1      0  
+    1      1      0      0     -2  
+    1     -1      0      0     10  
+0 0 0
+1
+4 5
+    0      0      0      1     -1  
+    1      0      1      0      7  
+    1     -1      0      0     10  
+    1      1     -1      0     -9  
+0 0 0
+1
+4 5
+    0      1      0      0     -1  
+    0      0      1      0      0  
+    0      0      0      1      0  
+    1      0      0      0      1  
+0 0 0
+1
+4 5
+    0      0      0      1     -3  
+    1      1     -1      0     -1  
+    1     -1      0      0     10  
+    1      0      1      0     -1  
+0 0 0
+1
+4 5
+    0      1     -1      0     -9  
+    0      0      0      1     -2  
+    1      0      1      0      7  
+    1      0     -1      0      1  
+0 0 0
+1
+4 5
+    0      1      0      0     -1  
+    0      0      1      0      0  
+    0      0      0      1      0  
+    1      0      0      0      1  
+0 0 0
+1
+4 5
+    0      0      1      0      0  
+    0      0      0      1     -3  
+    1      1      0      0     -1  
+    1     -1      0      0      9  
+0 0 0
+0 # iterator names
+0 # scattering functions
+0 # scattering dimension names
+
diff --git a/test/elimination.cloog b/test/elimination.cloog
new file mode 100644 (file)
index 0000000..c4d2dca
--- /dev/null
@@ -0,0 +1,51 @@
+# language: C
+c
+
+# One parameter : n
+1 3
+#  n  1
+1  0  1
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+2 # Number of statements: 2.
+
+1
+# {i, j | 1<=i<=n-1; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1 -1
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+
+1
+# {i, j, k | 1<=i<=n-1; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1 -1
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+# We want to let CLooG set the iterator names.
+0
+
+
+2
+# Scattering functions
+1 6
+# c1  i  j  n  1
+0  1 -1  0  0  0
+
+1 7
+# c1  i  j  k  n  1
+0  1  0  0 -1  0  0
+1
+p1
+
diff --git a/test/emploi.c.polylib b/test/emploi.c.polylib
new file mode 100644 (file)
index 0000000..90f66b7
--- /dev/null
@@ -0,0 +1,20 @@
+/* Generated from ./test/emploi.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+if (m >= 1) {
+  for (i=1;i<=n;i++) {
+    if (i >= m) {
+      S1 ;
+    }
+    if (i <= min(2*m,m-1)) {
+      S1 ;
+    }
+    for (j=1;j<=m;j++) {
+      S2 ;
+    }
+  }
+}
+if (m <= 0) {
+  for (i=1;i<=n;i++) {
+    S1 ;
+  }
+}
diff --git a/test/emploi.c.ppl b/test/emploi.c.ppl
new file mode 100644 (file)
index 0000000..7156c99
--- /dev/null
@@ -0,0 +1,19 @@
+/* Generated from ./emploi.cloog by CLooG 0.15 64 bits in 0.00s. */
+if (m >= 1) {
+  for (i=1;i<=n;i++) {
+    if (i <= 2*m) {
+      S1 ;
+    }
+    if (i >= max(2*m+1,m)) {
+      S1 ;
+    }
+    for (j=1;j<=m;j++) {
+      S2 ;
+    }
+  }
+}
+if (m <= 0) {
+  for (i=1;i<=n;i++) {
+    S1 ;
+  }
+}
diff --git a/test/emploi.cloog b/test/emploi.cloog
new file mode 100644 (file)
index 0000000..0dd7a26
--- /dev/null
@@ -0,0 +1,49 @@
+# language: C
+c
+
+# The context (no constraints on parameters)
+1 4             # 1 lines and 4 columns
+#  m  n  1
+1  0  0  0      # 0 >= 0, always true
+1 # We want to set the parameter names
+m n
+
+2 # The number of statements
+
+2 # First statement
+# The first domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1 -1  2  0  0    #  i <= 2*m
+# The second domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1  1 -1  0  0    #  i >= m
+0 0 0
+
+1 # Second statement
+4 6              # 4 lines and 6 columns
+#  i  j  m  n  1 
+1  1  0  0  0 -1 #  i >= 1
+1 -1  0  0  1  0 #  i <= n
+1  0  1  0  0 -1 #  j >= 1
+1  0 -1  1  0  0 #  j <= m
+0 0 0
+0
+
+0 # Scattering functions
+# The first function
+2 7                    # 2 lines and 7 columns
+# c1 c2  i  m  n  1 
+0  1  0 -1  0  0  0    #  c1 = i
+0  0  1  0  0  0  0    #  c2 = 0
+# The second function
+2 8                    # 2 lines and 8 columns
+# c1 c2  i  j  m  n  1 
+0  1  0  0  0  0 -1  0 #  c1 = n
+0  0  1 -1 -1  0  0  0 #  c2 = i+j
+0
diff --git a/test/equality.c.polylib b/test/equality.c.polylib
new file mode 100644 (file)
index 0000000..339635e
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from equality.cloog by CLooG v0.14.0 gmp bits in 0.01s. */
+/* CLooG asked for 64 KBytes. */
+for (i0=0;i0<=5;i0++) {
+  for (i1=ceild(4*i0,5);i1<=floord(6*i0+20,5);i1++) {
+    if (2*i0 == i1) {
+      S1 ;
+    }
+    if (i1 == 4) {
+      S2 ;
+    }
+  }
+}
diff --git a/test/equality.c.ppl b/test/equality.c.ppl
new file mode 100644 (file)
index 0000000..b988057
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ./equality.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i0=0;i0<=5;i0++) {
+  for (i1=ceild(4*i0,5);i1<=floord(6*i0+20,5);i1++) {
+    if (2*i0 == i1) {
+      S1 ;
+    }
+    if (i1 == 4) {
+      S2 ;
+    }
+  }
+}
diff --git a/test/equality.cloog b/test/equality.cloog
new file mode 100644 (file)
index 0000000..da83671
--- /dev/null
@@ -0,0 +1,33 @@
+# Language: C
+c
+
+# Context (0 parameter(s)):
+1 2
+   1    1 
+1 # Parameter name(s)
+
+
+# Statement number:
+2
+
+# Iteration domain of statement 1.
+1
+3 4
+0 2 -1 0
+1 1 0 0
+1 -1 0 5
+0 0 0 # For future options.
+
+# Iteration domain of statement 2.
+1
+3 4
+0 0 -1 4
+1 1 0 0
+1 -1 0 5
+0 0 0 # For future options.
+
+1 # Iterator name(s)
+i0 i1
+
+# No scattering functions.
+0
diff --git a/test/equality2.c.polylib b/test/equality2.c.polylib
new file mode 100644 (file)
index 0000000..dad4d1d
--- /dev/null
@@ -0,0 +1,16 @@
+/* Generated from equality2.cloog by CLooG v0.14.0 gmp bits in 0.06s. */
+/* CLooG asked for 308 KBytes. */
+for (i0=1;i0<=10000;i0++) {
+  for (i1=1000;i1<=1016;i1++) {
+    for (i2=1;i2<=min(-2*i1+2033,2*i1-1999);i2++) {
+      if (2*i1 == i2+1999) {
+        S2(i3 = 1,i4 = i0,i5 = 2*i1-1000,i6 = 1,i7 = 2,i8 = i0,i9 = i1-499,i10 = 2*i1-1999,i11 = i0,i12 = 2*i1-1999,i13 = i1-999,i14 = i1-999) ;
+      }
+      if (i2 == 1) {
+        if (i1%2 == 0) {
+          S1(i3 = 2,i4 = i0,i5 = (i1+2)/2,i6 = i1-999,i7 = i0,i8 = i1-999,i9 = (i1-998)/2,i10 = (i1-998)/2) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/equality2.c.ppl b/test/equality2.c.ppl
new file mode 100644 (file)
index 0000000..c25dab2
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated from ./equality2.cloog by CLooG 0.15 64 bits in 0.05s. */
+for (i0=1;i0<=10000;i0++) {
+  for (i1=1000;i1<=1016;i1++) {
+    for (i2=1;i2<=min(2*i1-1999,-2*i1+2033);i2++) {
+      if (2*i1 == i2+1999) {
+        S2(i3 = 1,i4 = i0,i5 = 2*i1-1000,i6 = 1,i7 = 2,i8 = i0,i9 = i1-499,i10 = 2*i1-1999,i11 = i0,i12 = 2*i1-1999,i13 = i1-999,i14 = i1-999) ;
+      }
+      if (i2 == 1) {
+        if (i1%2 == 0) {
+          S1(i3 = 2,i4 = i0,i5 = (i1+2)/2,i6 = i1-999,i7 = i0,i8 = i1-999,i9 = (i1-998)/2,i10 = (i1-998)/2) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/equality2.cloog b/test/equality2.cloog
new file mode 100644 (file)
index 0000000..c62469c
--- /dev/null
@@ -0,0 +1,57 @@
+c
+
+# Context (0 parameter(s)):
+1 2
+   1    1 
+1 # Parameter name(s)
+
+
+# Statement number:
+2
+
+# Iteration domain of statement 2.
+1
+13 13
+   0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0   -2 -998 
+   0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    1    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    1    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0   -1 -500 
+   0    0    0    0    0    0    0    1    0    0    0   -2    1 
+   0    0    0    0    0    0    0    0    0    1    0   -2    1 
+   0    0    0    0    0    0    0    0    0    0    1   -1    0 
+   1    0    0    0    0    0    0    0    1    0    0    0   -1 
+   1    0    0    0    0    0    0    0   -1    0    0    0 10000 
+   1    0    0    0    0    0    0    0    0    0    0    1   -1 
+   1    0    0    0    0    0    0    0    0    0    0   -1    9 
+0 0 0 # For future options.
+
+# Iteration domain of statement 3.
+1
+17 17
+   0    1    0    0    0    0    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1 -999 
+   0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2    1 
+   0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -2 -998 
+   0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1 
+   0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0   -2 
+   0    0    0    0    0    0    0    0    0    1    0    0   -1    0    0    0    0 
+   0    0    0    0    0    0    0    0    0    0    1    0    0    0    0   -1 -500 
+   0    0    0    0    0    0    0    0    0    0    0    1    0    0    0   -2    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    1    0   -2    1 
+   0    0    0    0    0    0    0    0    0    0    0    0    0    0    1   -1    0 
+   1    0    0    0    0    0    0    0    0    0    0    0    1    0    0    0   -1 
+   1    0    0    0    0    0    0    0    0    0    0    0   -1    0    0    0 10000 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1   -1 
+   1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1    9 
+0 0 0 # For future options.
+
+
+1 # Iterator name(s)
+i0 i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 
+
+# No scattering functions.
+0
diff --git a/test/esced.c.polylib b/test/esced.c.polylib
new file mode 100644 (file)
index 0000000..81e72fa
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+if (n >= 1) {
+  for (i=1;i<=m;i++) {
+    S1 ;
+    for (j=1;j<=n;j++) {
+      S2 ;
+    }
+  }
+}
+if (n <= 0) {
+  for (i=1;i<=m;i++) {
+    S1 ;
+  }
+}
diff --git a/test/esced.c.ppl b/test/esced.c.ppl
new file mode 100644 (file)
index 0000000..8dc8f0e
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from ./esced.cloog by CLooG 0.15 64 bits in 0.00s. */
+if (n >= 1) {
+  for (i=1;i<=m;i++) {
+    S1 ;
+    for (j=1;j<=n;j++) {
+      S2 ;
+    }
+  }
+}
+if (n <= 0) {
+  for (i=1;i<=m;i++) {
+    S1 ;
+  }
+}
diff --git a/test/esced.cloog b/test/esced.cloog
new file mode 100644 (file)
index 0000000..9caba01
--- /dev/null
@@ -0,0 +1,30 @@
+# language: C
+c
+
+# parameters {n, m | n<=m}
+1 4
+#1  1 -1  0
+1  0  0  1
+1
+n m
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=n}
+2 5
+1  1  0  0 -1
+1 -1  0  1  0
+0 0 0
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/escedk.c.polylib b/test/escedk.c.polylib
new file mode 100644 (file)
index 0000000..f65e590
--- /dev/null
@@ -0,0 +1,55 @@
+/* Generated from ./test/escedk.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 168 KBytes. */
+if ((n <= m) && (n >= max(m+1,2))) {
+  S1(i = n) ;
+}
+if ((n <= min(m,1)) && (n >= 0) && (m <= -1)) {
+  S1(i = n) ;
+}
+if ((n == 1) && (m >= 1) && (m >= 0)) {
+  S2(i = 0) ;
+  for (j=0;j<=m;j++) {
+    S3(i = 0) ;
+  }
+}
+if ((n <= m) && (n >= 2)) {
+  for (i=0;i<=min(m,n-1);i++) {
+    S2 ;
+  }
+}
+if ((n == 1) && (m == 0) && (m >= 0)) {
+  S3(i = 0,j = 0) ;
+}
+if ((n <= min(min(1,m),m)) && (n >= 0)) {
+  S1(i = n) ;
+  S2(i = n) ;
+  for (j=0;j<=m;j++) {
+    S3(i = n) ;
+  }
+}
+if ((n <= min(m,m)) && (n >= 2)) {
+  S1(i = n) ;
+  S2(i = n) ;
+}
+if ((n == 1) && (m == 0) && (m >= 1)) {
+  S1(i = 1) ;
+  S3(i = 1,j = 0) ;
+}
+if ((n <= min(1,m)) && (n >= 0)) {
+  for (i=n+1;i<=m;i++) {
+    S2 ;
+    for (j=0;j<=m;j++) {
+      S3 ;
+    }
+  }
+}
+if ((n <= m) && (n >= 2)) {
+  for (i=n+1;i<=m;i++) {
+    S2 ;
+  }
+}
+if ((n == 1) && (m == 0)) {
+  for (i=2;i<=m;i++) {
+    S3(j = 0) ;
+  }
+}
diff --git a/test/escedk.c.ppl b/test/escedk.c.ppl
new file mode 100644 (file)
index 0000000..f65e590
--- /dev/null
@@ -0,0 +1,55 @@
+/* Generated from ./test/escedk.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 168 KBytes. */
+if ((n <= m) && (n >= max(m+1,2))) {
+  S1(i = n) ;
+}
+if ((n <= min(m,1)) && (n >= 0) && (m <= -1)) {
+  S1(i = n) ;
+}
+if ((n == 1) && (m >= 1) && (m >= 0)) {
+  S2(i = 0) ;
+  for (j=0;j<=m;j++) {
+    S3(i = 0) ;
+  }
+}
+if ((n <= m) && (n >= 2)) {
+  for (i=0;i<=min(m,n-1);i++) {
+    S2 ;
+  }
+}
+if ((n == 1) && (m == 0) && (m >= 0)) {
+  S3(i = 0,j = 0) ;
+}
+if ((n <= min(min(1,m),m)) && (n >= 0)) {
+  S1(i = n) ;
+  S2(i = n) ;
+  for (j=0;j<=m;j++) {
+    S3(i = n) ;
+  }
+}
+if ((n <= min(m,m)) && (n >= 2)) {
+  S1(i = n) ;
+  S2(i = n) ;
+}
+if ((n == 1) && (m == 0) && (m >= 1)) {
+  S1(i = 1) ;
+  S3(i = 1,j = 0) ;
+}
+if ((n <= min(1,m)) && (n >= 0)) {
+  for (i=n+1;i<=m;i++) {
+    S2 ;
+    for (j=0;j<=m;j++) {
+      S3 ;
+    }
+  }
+}
+if ((n <= m) && (n >= 2)) {
+  for (i=n+1;i<=m;i++) {
+    S2 ;
+  }
+}
+if ((n == 1) && (m == 0)) {
+  for (i=2;i<=m;i++) {
+    S3(j = 0) ;
+  }
+}
diff --git a/test/escedk.cloog b/test/escedk.cloog
new file mode 100644 (file)
index 0000000..4e5a28d
--- /dev/null
@@ -0,0 +1,41 @@
+# language: C
+c
+
+# parameters {n, m | n<=m}
+1 5
+#1  1 -1  0
+1  0  0  0  1
+1
+n m
+
+3 # Number of statements
+
+1
+# {i | 1<=i<=n}
+2 5
+1  1  0  0  0 -1
+1 -1  0  1  0  0
+0  0  0
+
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+1  1  0  0  0  0 -1
+1 -1  0  0  1  0  0
+1  0  1  0  0  0 -1
+1  0 -1  1  0  0  0
+0  0  0
+
+1
+# {i, j | 1<=i<=n 1<=j<=m 1<=k<=o}
+6 7
+1  1  0  0  0  0  0 -1
+1 -1  0  0  0  1  0  0
+1  0  1  0  0  0  0 -1
+1  0 -1  0  1  0  0  0
+1  0  0  1  0  0  0 -1
+1  0  0 -1  0  0  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/ex1.c.polylib b/test/ex1.c.polylib
new file mode 100644 (file)
index 0000000..a4cb0a4
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=14;i++) {
+  for (j=0;j<=n-15;j++) {
+    S1 ;
+  }
+}
+for (i=15;i<=n;i++) {
+  for (j=0;j<=9;j++) {
+    S1 ;
+  }
+  for (j=10;j<=n-15;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=n-14;j<=n;j++) {
+    S2 ;
+  }
+}
diff --git a/test/ex1.c.ppl b/test/ex1.c.ppl
new file mode 100644 (file)
index 0000000..d38a90f
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ./ex1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=14;i++) {
+  for (j=0;j<=n-15;j++) {
+    S1 ;
+  }
+}
+for (i=15;i<=n;i++) {
+  for (j=0;j<=9;j++) {
+    S1 ;
+  }
+  for (j=10;j<=n-15;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=n-14;j<=n;j++) {
+    S2 ;
+  }
+}
diff --git a/test/ex1.cloog b/test/ex1.cloog
new file mode 100644 (file)
index 0000000..6a85398
--- /dev/null
@@ -0,0 +1,34 @@
+# language: C
+c
+
+# parameters {n}
+1 3
+#  n  1
+1  1 -25
+1
+n
+
+2 # Number of statements
+
+1
+# {i | 0<=i<=n, 0<=j<=n-15}
+4 5
+#  i  j  n  1
+1  1  0  0  0
+1 -1  0  1  0
+1  0  1  0  0
+1  0 -1  1 -15
+0  0  0
+1
+# {i | 15<=i<=n, 10<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -15
+1 -1  0  1  0
+1  0  1  0 -10
+1  0 -1  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/faber.c.polylib b/test/faber.c.polylib
new file mode 100644 (file)
index 0000000..aeab055
--- /dev/null
@@ -0,0 +1,4690 @@
+/* Generated from ./test/faber.cloog by CLooG v1.0.0 64 bits in 1.78s. */
+/* CLooG asked for 548 KBytes. */
+for (idx4=0;idx4<=10;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+}
+for (idx4=11;idx4<=12;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=max(ceild(2*idx4+309,231),2);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(2*idx4-42,7);idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(2*idx4-41,7);idx5<=-1;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+}
+for (idx4=13;idx4<=17;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(2*idx4-42,7);idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(2*idx4-41,7);idx5<=-1;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=18;idx4<=20;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=21;idx4<=27;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=floord(2*idx4+84,21);idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(2*idx4+85,21);idx6<=7;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=28;idx4<=33;idx4++) {
+  for (idx5=-6;idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=floord(2*idx4+84,21);idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(2*idx4+85,21);idx6<=7;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx5=-6;idx5<=-4;idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+}
+for (idx6=-8*(1);idx6<=floord(-6*(34)+77*1+923,77);idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(-3*(34)+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+  S1(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(-6*(34)+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+  S6(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+}
+for (idx5=ceild(2*34+309,231);idx5<=18;idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+  for (idx6=max(ceild(-6*(34)+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx5=ceild(6*34+1387,77);idx5<=24;idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+}
+for (idx5=-3;idx5<=-1;idx5++) {
+  for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*34-7*idx5+84,21));idx6++) {
+    S7(idx4 = 34) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(34)+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+}
+S3(idx4 = 34,idx5 = 0,idx6 = 0) ;
+S10(idx4 = 34,idx5 = 0,idx6 = 0) ;
+for (idx6=1;idx6<=5;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=6;idx6<=min(7,floord(2*34+84,21));idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+  S7(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=13;idx6<=24;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=8;idx6<=floord(-6*(34)+923,77);idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=ceild(-6*(34)+924,77);idx6<=12;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+  S6(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=ceild(-3*(34)+672,14);idx6<=48;idx6++) {
+  S1(idx4 = 34,idx5 = 0) ;
+}
+for (idx5=2;idx5<=floord(2*34+308,231);idx5++) {
+  for (idx6=-8*idx5;idx6<=floord(-6*(34)+77*idx5+923,77);idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*(34)+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+    S6(idx4 = 34) ;
+  }
+  for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*34+1386,77);idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*(34)+77*idx5+924,77);idx6<=30;idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx4=35;idx4<=36;idx4++) {
+  for (idx5=-6;idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=1;idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=ceild(6*idx5+73,6);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=min(7,floord(2*idx4+84,21));idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=1;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(2*idx5+11,2);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(2*idx4-7*idx5+84,21);idx6++) {
+      S3 ;
+      S7 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+85,21);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=ceild(6*idx5+73,6);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=37;idx4<=41;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=max(6,ceild(2*idx5+12,2));idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=18;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=42;idx4<=44;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=45;idx4<=46;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=47;idx4<=46;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(30*idx4-1382,231);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(30*idx4-1381,231);idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(47-120,14);idx5<=floord(10*47-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-41,14);idx5<=floord(47-21,14);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*47-7*idx5+84,21));idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(47)+77*idx5+924,77));idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*47+1386,77);idx5++) {
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=min(floord(-6*(47)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(10*47-822,77);idx5<=floord(10*47-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(47+42,14),idx5);idx6++) {
+    S5(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(10*47-696,77);idx5<=floord(47-84,14);idx5++) {
+  for (idx6=max(ceild(2*47-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*47-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=0;idx5<=floord(47-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(47)+77*idx5+924,77));idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=1;idx5<=floord(47-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(48-120,14);idx5<=floord(10*48-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-41,14);idx5<=floord(48-21,14);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*48-7*idx5+84,21));idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*48+1386,77);idx5++) {
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=min(floord(-6*(48)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(10*48-822,77);idx5<=floord(10*48-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(48+42,14),idx5);idx6++) {
+    S5(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(10*48-696,77);idx5<=floord(48-84,14);idx5++) {
+  for (idx6=max(ceild(2*48-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*48-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=0;idx5<=floord(48-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=1;idx5<=floord(30*48-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(30*48-1381,231);idx5<=min(floord(-2*(48)+114,35),floord(48-42,14));idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(49-120,14);idx5<=floord(10*49-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-41,14);idx5<=min(floord(49-21,14),2);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*49-7*idx5+84,21));idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*49+1386,77);idx5++) {
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=min(floord(-6*(49)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(10*49-822,77);idx5<=floord(10*49-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(49+42,14),idx5);idx6++) {
+    S5(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(10*49-696,77);idx5<=floord(49-84,14);idx5++) {
+  for (idx6=max(ceild(2*49-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*49-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=0;idx5<=floord(49-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=1;idx5<=floord(30*49-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(30*49-1381,231);idx5<=floord(-2*(49)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(-2*(49)+115,35);idx5<=floord(49-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*49-7*idx5+11,21);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*49-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx4=50;idx4<=49;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=min(floord(-2*idx4+114,35),floord(30*idx4-1382,231));idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(-2*idx4+115,35),ceild(30*idx4-1381,231));idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(50-120,14);idx5<=floord(10*50-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*50-7*idx5+84,21));idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*50+1386,77);idx5++) {
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=min(floord(-6*(50)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(10*50-822,77);idx5<=floord(10*50-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(50+42,14),idx5);idx6++) {
+    S5(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(10*50-696,77);idx5<=floord(50-84,14);idx5++) {
+  for (idx6=max(ceild(2*50-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*50-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=0;idx5<=floord(50-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(50)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(-2*(50)+115,35);idx5<=floord(30*50-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*50-7*idx5+11,21);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*50-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(30*50-1381,231);idx5<=floord(50-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*50-7*idx5+11,21);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*50-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx4=51;idx4<=52;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(-2*idx4+114,35);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-2*idx4+115,35);idx5<=min(floord(30*idx4-1382,231),floord(idx4-42,14));idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(53-120,14);idx5<=floord(10*53-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(53-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*53-7*idx5+84,21));idx6++) {
+    S7(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*53+1386,77);idx5++) {
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=min(floord(-6*(53)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(10*53-822,77);idx5<=floord(53-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(53-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(53+42,14),idx5);idx6++) {
+    S5(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=max(ceild(53-83,14),ceild(10*53-696,77));idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*53-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=0;idx5<=floord(53-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(53)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(-2*(53)+115,35);idx5<=floord(53-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*53-7*idx5+11,21);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*53-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(54-120,14);idx5<=floord(10*54-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*54-7*idx5+84,21));idx6++) {
+    S7(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*54+1386,77);idx5++) {
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=min(floord(-6*(54)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(10*54-822,77);idx5<=floord(54-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(54+42,14),idx5);idx6++) {
+    S5(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-83,14);idx5<=floord(10*54-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(10*54-696,77);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*54-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=0;idx5<=floord(54-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(54)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(-2*(54)+115,35);idx5<=floord(54-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*54-7*idx5+11,21);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*54-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx4=55;idx4<=54;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=min(floord(-2*idx4+114,35),floord(idx4-42,77));idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(-2*idx4+115,35),ceild(4*idx4-207,56));idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(55-120,14);idx5<=floord(10*55-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*55-7*idx5+84,21));idx6++) {
+    S7(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*55+1386,77);idx5++) {
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=min(floord(-6*(55)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(10*55-822,77);idx5<=floord(55-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(55+42,14),idx5);idx6++) {
+    S5(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-83,14);idx5<=floord(10*55-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(10*55-696,77);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*55-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=0;idx5<=floord(-2*(55)+114,35);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(-2*(55)+115,35);idx5<=floord(4*55-208,56);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*55-7*idx5+11,21);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(2*55-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(4*55-207,56);idx5<=floord(55-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*55-7*idx5+11,21);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(2*55-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx4=56;idx4<=57;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(-2*idx4+114,35);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-2*idx4+115,35);idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=58;idx4<=61;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx5=-4;idx5<=-3;idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 62) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(2*2+12,2);idx6<=min(floord(4*2+72,10),floord(2*62-7*(2)+84,21));idx6++) {
+  S7(idx4 = 62,idx5 = 2) ;
+}
+for (idx6=max(ceild(12*2+252,30),ceild(-6*(62)+77*2+924,77));idx6<=floord(-6*(62)+77*2+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(62)+14*2+672,14);idx6<=floord(-3*(62)+14*2+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 2) ;
+}
+for (idx5=20;idx5<=22;idx5++) {
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=min(floord(-6*(62)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(12*-2+252,30);idx6<=floord(-6*(62)+77*-2+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = -2) ;
+}
+for (idx6=-2+24;idx6<=-2*(-2)+24;idx6++) {
+  S2(idx4 = 62,idx5 = -2) ;
+}
+for (idx6=ceild(-6*(-2)+90,3);idx6<=floord(-3*(62)+14*-2+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = -2) ;
+}
+for (idx5=3;idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=floord(-6*(62)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 62) ;
+  }
+  for (idx6=ceild(-3*(62)+14*idx5+672,14);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(62+42,14),idx5);idx6++) {
+    S5(idx4 = 62) ;
+  }
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=floord(-6*(62)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 62) ;
+  }
+  for (idx6=ceild(-3*(62)+14*idx5+672,14);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(12*-1+252,30);idx6<=floord(-6*(62)+77*-1+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = -1) ;
+}
+for (idx6=ceild(-3*(62)+14*-1+672,14);idx6<=floord(-3*(62)+14*-1+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = -1) ;
+}
+for (idx6=-2*(0)+6;idx6<=floord(2*62-7*(0)+11,21);idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=max(ceild(2*62-7*(0)+12,21),ceild(2*0+12,2));idx6<=floord(4*0+72,10);idx6++) {
+  S7(idx4 = 62,idx5 = 0) ;
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(4*0+73,10);idx6<=floord(12*0+251,30);idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(-6*(62)+77*0+1141,77);idx6<=-2*(0)+24;idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(12*0+252,30);idx6<=floord(-6*(62)+77*0+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 0) ;
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(-3*(62)+14*0+672,14);idx6<=floord(-3*(62)+14*0+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=-2*(1)+6;idx6<=floord(2*62-7*(1)+11,21);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(2*62-7*(1)+12,21);idx6<=floord(2*1+11,2);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(2*1+12,2);idx6<=floord(4*1+72,10);idx6++) {
+  S7(idx4 = 62,idx5 = 1) ;
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(4*1+73,10);idx6<=floord(12*1+251,30);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(-6*(62)+77*1+1141,77);idx6<=-2*(1)+24;idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=max(ceild(12*1+252,30),ceild(-6*(62)+77*1+924,77));idx6<=floord(-6*(62)+77*1+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 1) ;
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(-3*(62)+14*1+672,14);idx6<=floord(-3*(62)+14*1+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=19-12;idx6<=floord(62+42,14);idx6++) {
+  S5(idx4 = 62,idx5 = 19) ;
+}
+for (idx6=ceild(-6*(62)+77*19+924,77);idx6<=floord(-6*(62)+77*19+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 19) ;
+}
+for (idx4=63;idx4<=69;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=3;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=70;idx4<=76;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx5=ceild(77-120,14);idx5<=floord(10*77-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(77-83,14);idx5<=floord(77-79,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=max(ceild(77+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(77+42,14)),idx5);idx6++) {
+    S5(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(10*77-822,77);idx5<=floord(77-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=0;idx5<=floord(10*77-697,77);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*(77)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx6=2;idx6<=7;idx6++) {
+  S9(idx4 = 77,idx5 = 2) ;
+}
+S7(idx4 = 77,idx5 = 2,idx6 = 8) ;
+S9(idx4 = 77,idx5 = 2,idx6 = 8) ;
+S8(idx4 = 77,idx5 = 2,idx6 = 26) ;
+S9(idx4 = 77,idx5 = 2,idx6 = 9) ;
+for (idx6=10;idx6<=floord(-6*(77)+1294,77);idx6++) {
+  S6(idx4 = 77,idx5 = 2) ;
+  S9(idx4 = 77,idx5 = 2) ;
+}
+for (idx6=ceild(-6*(77)+1295,77);idx6<=20;idx6++) {
+  S9(idx4 = 77,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(77)+700,14);idx6<=floord(-3*(77)+808,14);idx6++) {
+  S1(idx4 = 77,idx5 = 2) ;
+}
+for (idx5=3;idx5<=floord(77+5,14);idx5++) {
+  for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*(77)+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=19;idx5<=20;idx5++) {
+  for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(77+42,14));idx6++) {
+    S5(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+}
+for (idx5=21;idx5<=24;idx5++) {
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*(77)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(10*77-696,77);idx5<=1;idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*77-7*idx5+11,21);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(2*77-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*(77)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx4=78;idx4<=80;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(6,ceild(idx4+6,14));idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(0,ceild(idx4-78,14));idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx5=ceild(81-120,14);idx5<=floord(81-84,14);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 81) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=max(ceild(10*81-822,77),ceild(81-83,14));idx5<=floord(81-79,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=ceild(81+6,14);idx5<=18;idx5++) {
+  for (idx6=max(ceild(81+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(81+42,14)),idx5);idx6++) {
+    S5(idx4 = 81) ;
+  }
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=ceild(81-78,14);idx5<=1;idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(-6*(81)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx6=2;idx6<=7;idx6++) {
+  S9(idx4 = 81,idx5 = 2) ;
+}
+S7(idx4 = 81,idx5 = 2,idx6 = 8) ;
+S9(idx4 = 81,idx5 = 2,idx6 = 8) ;
+S8(idx4 = 81,idx5 = 2,idx6 = 26) ;
+S9(idx4 = 81,idx5 = 2,idx6 = 9) ;
+for (idx6=10;idx6<=floord(-6*(81)+1294,77);idx6++) {
+  S6(idx4 = 81,idx5 = 2) ;
+  S9(idx4 = 81,idx5 = 2) ;
+}
+for (idx6=ceild(-6*(81)+1295,77);idx6<=20;idx6++) {
+  S9(idx4 = 81,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(81)+700,14);idx6<=floord(-3*(81)+808,14);idx6++) {
+  S1(idx4 = 81,idx5 = 2) ;
+}
+for (idx5=3;idx5<=floord(81+5,14);idx5++) {
+  for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*(81)+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=19;idx5<=20;idx5++) {
+  for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(81+42,14));idx6++) {
+    S5(idx4 = 81) ;
+  }
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+}
+for (idx5=21;idx5<=24;idx5++) {
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*(81)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+}
+for (idx4=82;idx4<=83;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=84;idx4<=85;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=3;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=86;idx4<=89;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=4;idx6<=8;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=9;idx6<=floord(-6*idx4+1217,77);idx6++) {
+    S6(idx5 = 1) ;
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+1218,77);idx6<=22;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=90;idx4<=92;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=4;idx6<=22;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=93;idx4<=97;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=98;idx4<=101;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=min(4,floord(idx4-42,14));idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-13*idx4+3479,105);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+672,14)),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=2;idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=102;idx4<=113;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=4;idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=min(20,floord(-idx4+246,7));idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-13*idx4+3479,105);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+672,14)),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(idx4-78,14),2);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=5;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+35,6);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=114;idx4<=118;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=119;idx4<=120;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=121;idx4<=125;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=18;idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14)),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(3*idx5-36,3));idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=126;idx4<=148;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14)),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=min(42,floord(-3*idx4+990,14));idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(3*idx5-36,3));idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=18;idx5++) {
+    for (idx6=ceild(-3*idx5+126,6);idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=149;idx4<=162;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=min(floord(idx4-42,14),8);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(floord(-idx5+36,2),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=floord(-11*idx4+2965,91);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=max(14,ceild(-idx4+252,7));idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14));idx6<=min(floord(3*idx4+14*idx5-462,14),floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(min(floord(3*idx4+14*idx5-462,14),30),floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=163;idx4<=181;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=24;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(-3*idx5+126,6));idx6<=floord(3*idx5,3);idx6++) {
+      S4 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+546,14),ceild(3*idx5+1,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=182;idx4<=188;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=floord(6*idx4+1471,183);idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1472,183);idx5<=24;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(-3*idx5+126,6));idx6<=floord(-3*idx4+61*idx5+545,61);idx6++) {
+      S4 ;
+    }
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=189;idx4<=190;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=floord(6*idx4+1471,183);idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1472,183);idx5<=24;idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=191;idx4<=218;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
diff --git a/test/faber.c.ppl b/test/faber.c.ppl
new file mode 100644 (file)
index 0000000..aeab055
--- /dev/null
@@ -0,0 +1,4690 @@
+/* Generated from ./test/faber.cloog by CLooG v1.0.0 64 bits in 1.78s. */
+/* CLooG asked for 548 KBytes. */
+for (idx4=0;idx4<=10;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+}
+for (idx4=11;idx4<=12;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=max(ceild(2*idx4+309,231),2);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(2*idx4-42,7);idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(2*idx4-41,7);idx5<=-1;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+}
+for (idx4=13;idx4<=17;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(2*idx4-42,7);idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(2*idx4-41,7);idx5<=-1;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=18;idx4<=20;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=1;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=21;idx4<=27;idx4++) {
+  for (idx5=-6;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-4;idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=floord(2*idx4+84,21);idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(2*idx4+85,21);idx6<=7;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=28;idx4<=33;idx4++) {
+  for (idx5=-6;idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=-8*(1);idx6<=floord(-6*idx4+77*1+923,77);idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+    S3(idx5 = 1) ;
+    S6(idx5 = 1) ;
+  }
+  for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+    S3(idx5 = 1) ;
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=floord(2*idx4+84,21);idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(2*idx4+85,21);idx6<=7;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx5=-6;idx5<=-4;idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+}
+for (idx6=-8*(1);idx6<=floord(-6*(34)+77*1+923,77);idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(-3*(34)+14*1+672,14);idx6<=floord(3*1+144,3);idx6++) {
+  S1(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(-6*(34)+77*1+924,77);idx6<=floord(6*1+72,6);idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+  S6(idx4 = 34,idx5 = 1) ;
+}
+for (idx6=ceild(6*1+73,6);idx6<=-8*(1)+24;idx6++) {
+  S3(idx4 = 34,idx5 = 1) ;
+}
+for (idx5=ceild(2*34+309,231);idx5<=18;idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+  for (idx6=max(ceild(-6*(34)+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx5=ceild(6*34+1387,77);idx5<=24;idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+}
+for (idx5=-3;idx5<=-1;idx5++) {
+  for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*34-7*idx5+84,21));idx6++) {
+    S7(idx4 = 34) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(34)+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+}
+S3(idx4 = 34,idx5 = 0,idx6 = 0) ;
+S10(idx4 = 34,idx5 = 0,idx6 = 0) ;
+for (idx6=1;idx6<=5;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=6;idx6<=min(7,floord(2*34+84,21));idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+  S7(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=13;idx6<=24;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=8;idx6<=floord(-6*(34)+923,77);idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=ceild(-6*(34)+924,77);idx6<=12;idx6++) {
+  S3(idx4 = 34,idx5 = 0) ;
+  S6(idx4 = 34,idx5 = 0) ;
+}
+for (idx6=ceild(-3*(34)+672,14);idx6<=48;idx6++) {
+  S1(idx4 = 34,idx5 = 0) ;
+}
+for (idx5=2;idx5<=floord(2*34+308,231);idx5++) {
+  for (idx6=-8*idx5;idx6<=floord(-6*(34)+77*idx5+923,77);idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-3*(34)+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+    S1(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*(34)+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+    S6(idx4 = 34) ;
+  }
+  for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*34+1386,77);idx5++) {
+  for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+    S3(idx4 = 34) ;
+  }
+  for (idx6=ceild(-6*(34)+77*idx5+924,77);idx6<=30;idx6++) {
+    S6(idx4 = 34) ;
+  }
+}
+for (idx4=35;idx4<=36;idx4++) {
+  for (idx5=-6;idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=1;idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=ceild(6*idx5+73,6);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=ceild(2*idx4+309,231);idx5<=18;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),-8*idx5+25);idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+  }
+  for (idx5=-3;idx5<=-1;idx5++) {
+    for (idx6=6;idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  S3(idx5 = 0,idx6 = 0) ;
+  S10(idx5 = 0,idx6 = 0) ;
+  for (idx6=1;idx6<=5;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=6;idx6<=min(7,floord(2*idx4+84,21));idx6++) {
+    S3(idx5 = 0) ;
+    S7(idx5 = 0) ;
+  }
+  for (idx6=13;idx6<=24;idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=8;idx6<=floord(-6*idx4+923,77);idx6++) {
+    S3(idx5 = 0) ;
+  }
+  for (idx6=ceild(-6*idx4+924,77);idx6<=12;idx6++) {
+    S3(idx5 = 0) ;
+    S6(idx5 = 0) ;
+  }
+  for (idx6=ceild(-3*idx4+672,14);idx6<=48;idx6++) {
+    S1(idx5 = 0) ;
+  }
+  for (idx5=1;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(2*idx5+11,2);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(2*idx4-7*idx5+84,21);idx6++) {
+      S3 ;
+      S7 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+85,21);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(6*idx5+72,6);idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=ceild(6*idx5+73,6);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=2;idx5<=floord(2*idx4+308,231);idx5++) {
+    for (idx6=-8*idx5;idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(3*idx5+144,3);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+      S6 ;
+    }
+    for (idx6=-8*idx5+25;idx6<=floord(6*idx5+72,6);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=-8*idx5;idx6<=-8*idx5+24;idx6++) {
+      S3 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=37;idx4<=41;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=-4;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=max(6,ceild(2*idx5+12,2));idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=18;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=30;idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=42;idx4<=44;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=45;idx4<=46;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=47;idx4<=46;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=-3;idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(30*idx4-1382,231);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(30*idx4-1381,231);idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(47-120,14);idx5<=floord(10*47-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-41,14);idx5<=floord(47-21,14);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*47-7*idx5+84,21));idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(47)+77*idx5+924,77));idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*47+1386,77);idx5++) {
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=min(floord(-6*(47)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(10*47-822,77);idx5<=floord(10*47-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(47+42,14),idx5);idx6++) {
+    S5(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(10*47-696,77);idx5<=floord(47-84,14);idx5++) {
+  for (idx6=max(ceild(2*47-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(47-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*47-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=0;idx5<=floord(47-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(47)+77*idx5+924,77));idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=1;idx5<=floord(47-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(47)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-6*(47)+77*idx5+924,77);idx6<=floord(-6*(47)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 47) ;
+    S9(idx4 = 47) ;
+  }
+  for (idx6=ceild(-3*(47)+14*idx5+672,14);idx6<=floord(-3*(47)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 47) ;
+  }
+}
+for (idx5=ceild(48-120,14);idx5<=floord(10*48-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-41,14);idx5<=floord(48-21,14);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*48-7*idx5+84,21));idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*48+1386,77);idx5++) {
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=min(floord(-6*(48)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(10*48-822,77);idx5<=floord(10*48-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(48+42,14),idx5);idx6++) {
+    S5(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(10*48-696,77);idx5<=floord(48-84,14);idx5++) {
+  for (idx6=max(ceild(2*48-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(48-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*48-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=0;idx5<=floord(48-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=1;idx5<=floord(30*48-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(48)+77*idx5+924,77));idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(30*48-1381,231);idx5<=min(floord(-2*(48)+114,35),floord(48-42,14));idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(48)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-6*(48)+77*idx5+924,77);idx6<=floord(-6*(48)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 48) ;
+    S9(idx4 = 48) ;
+  }
+  for (idx6=ceild(-3*(48)+14*idx5+672,14);idx6<=floord(-3*(48)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 48) ;
+  }
+}
+for (idx5=ceild(49-120,14);idx5<=floord(10*49-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-41,14);idx5<=min(floord(49-21,14),2);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*49-7*idx5+84,21));idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*49+1386,77);idx5++) {
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=min(floord(-6*(49)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(10*49-822,77);idx5<=floord(10*49-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(49+42,14),idx5);idx6++) {
+    S5(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(10*49-696,77);idx5<=floord(49-84,14);idx5++) {
+  for (idx6=max(ceild(2*49-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(49-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*49-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=0;idx5<=floord(49-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=1;idx5<=floord(30*49-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(49)+77*idx5+924,77));idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(30*49-1381,231);idx5<=floord(-2*(49)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx5=ceild(-2*(49)+115,35);idx5<=floord(49-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*49-7*idx5+11,21);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*49-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(49)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-6*(49)+77*idx5+924,77);idx6<=floord(-6*(49)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 49) ;
+    S9(idx4 = 49) ;
+  }
+  for (idx6=ceild(-3*(49)+14*idx5+672,14);idx6<=floord(-3*(49)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 49) ;
+  }
+}
+for (idx4=50;idx4<=49;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=min(floord(-2*idx4+114,35),floord(30*idx4-1382,231));idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(-2*idx4+115,35),ceild(30*idx4-1381,231));idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+923,77);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(50-120,14);idx5<=floord(10*50-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*50-7*idx5+84,21));idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*50+1386,77);idx5++) {
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=min(floord(-6*(50)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(10*50-822,77);idx5<=floord(10*50-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(50+42,14),idx5);idx6++) {
+    S5(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(10*50-696,77);idx5<=floord(50-84,14);idx5++) {
+  for (idx6=max(ceild(2*50-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(50-83,14);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*50-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=0;idx5<=floord(50-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(50)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(-2*(50)+115,35);idx5<=floord(30*50-1382,231);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*50-7*idx5+11,21);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*50-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(50)+77*idx5+924,77));idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx5=ceild(30*50-1381,231);idx5<=floord(50-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*50-7*idx5+11,21);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*50-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(50)+77*idx5+923,77);idx6++) {
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-6*(50)+77*idx5+924,77);idx6<=floord(-6*(50)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 50) ;
+    S9(idx4 = 50) ;
+  }
+  for (idx6=ceild(-3*(50)+14*idx5+672,14);idx6<=floord(-3*(50)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 50) ;
+  }
+}
+for (idx4=51;idx4<=52;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(idx4-42,77);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(-2*idx4+114,35);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-2*idx4+115,35);idx5<=min(floord(30*idx4-1382,231),floord(idx4-42,14));idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(53-120,14);idx5<=floord(10*53-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(53-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*53-7*idx5+84,21));idx6++) {
+    S7(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*53+1386,77);idx5++) {
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=min(floord(-6*(53)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(10*53-822,77);idx5<=floord(53-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(53-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(53+42,14),idx5);idx6++) {
+    S5(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+924,77);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=max(ceild(53-83,14),ceild(10*53-696,77));idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*53-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=0;idx5<=floord(53-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(53)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(-2*(53)+115,35);idx5<=floord(53-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*53-7*idx5+11,21);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*53-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-6*(53)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 53) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(53)+77*idx5+924,77));idx6<=floord(-6*(53)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 53) ;
+    S9(idx4 = 53) ;
+  }
+  for (idx6=ceild(-3*(53)+14*idx5+672,14);idx6<=floord(-3*(53)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 53) ;
+  }
+}
+for (idx5=ceild(54-120,14);idx5<=floord(10*54-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*54-7*idx5+84,21));idx6++) {
+    S7(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*54+1386,77);idx5++) {
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=min(floord(-6*(54)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(10*54-822,77);idx5<=floord(54-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(54+42,14),idx5);idx6++) {
+    S5(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+924,77);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(54-83,14);idx5<=floord(10*54-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(10*54-696,77);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*54-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=0;idx5<=floord(54-42,77);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=1;idx5<=floord(-2*(54)+114,35);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx5=ceild(-2*(54)+115,35);idx5<=floord(54-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*54-7*idx5+11,21);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*54-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-6*(54)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 54) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(54)+77*idx5+924,77));idx6<=floord(-6*(54)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 54) ;
+    S9(idx4 = 54) ;
+  }
+  for (idx6=ceild(-3*(54)+14*idx5+672,14);idx6<=floord(-3*(54)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 54) ;
+  }
+}
+for (idx4=55;idx4<=54;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=min(floord(-2*idx4+114,35),floord(idx4-42,77));idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(-2*idx4+115,35),ceild(4*idx4-207,56));idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx5=ceild(55-120,14);idx5<=floord(10*55-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-41,14);idx5<=2;idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*55-7*idx5+84,21));idx6++) {
+    S7(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=19;idx5<=floord(6*55+1386,77);idx5++) {
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=min(floord(-6*(55)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(10*55-822,77);idx5<=floord(55-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-20,14);idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(55+42,14),idx5);idx6++) {
+    S5(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+924,77);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(55-83,14);idx5<=floord(10*55-697,77);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(10*55-696,77);idx5<=-1;idx5++) {
+  for (idx6=max(ceild(2*55-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=0;idx5<=floord(-2*(55)+114,35);idx5++) {
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(-2*(55)+115,35);idx5<=floord(4*55-208,56);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*55-7*idx5+11,21);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(2*55-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx5=ceild(4*55-207,56);idx5<=floord(55-42,14);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*55-7*idx5+11,21);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(2*55-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-6*(55)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 55) ;
+  }
+  for (idx6=max(ceild(12*idx5+252,30),ceild(-6*(55)+77*idx5+924,77));idx6<=floord(-6*(55)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 55) ;
+    S9(idx4 = 55) ;
+  }
+  for (idx6=ceild(-3*(55)+14*idx5+672,14);idx6<=floord(-3*(55)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 55) ;
+  }
+}
+for (idx4=56;idx4<=57;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(-2*idx4+114,35);idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-2*idx4+115,35);idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=58;idx4<=61;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=-1;idx5++) {
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),6);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx5=-4;idx5<=-3;idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 62) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(2*2+12,2);idx6<=min(floord(4*2+72,10),floord(2*62-7*(2)+84,21));idx6++) {
+  S7(idx4 = 62,idx5 = 2) ;
+}
+for (idx6=max(ceild(12*2+252,30),ceild(-6*(62)+77*2+924,77));idx6<=floord(-6*(62)+77*2+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(62)+14*2+672,14);idx6<=floord(-3*(62)+14*2+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 2) ;
+}
+for (idx5=20;idx5<=22;idx5++) {
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=min(floord(-6*(62)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(12*-2+252,30);idx6<=floord(-6*(62)+77*-2+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = -2) ;
+}
+for (idx6=-2+24;idx6<=-2*(-2)+24;idx6++) {
+  S2(idx4 = 62,idx5 = -2) ;
+}
+for (idx6=ceild(-6*(-2)+90,3);idx6<=floord(-3*(62)+14*-2+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = -2) ;
+}
+for (idx5=3;idx5<=5;idx5++) {
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=floord(-6*(62)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 62) ;
+  }
+  for (idx6=ceild(-3*(62)+14*idx5+672,14);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=6;idx6<=min(floord(62+42,14),idx5);idx6++) {
+    S5(idx4 = 62) ;
+  }
+  for (idx6=ceild(-6*(62)+77*idx5+924,77);idx6<=floord(-6*(62)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 62) ;
+  }
+  for (idx6=ceild(-3*(62)+14*idx5+672,14);idx6<=floord(-3*(62)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 62) ;
+  }
+}
+for (idx6=ceild(12*-1+252,30);idx6<=floord(-6*(62)+77*-1+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = -1) ;
+}
+for (idx6=ceild(-3*(62)+14*-1+672,14);idx6<=floord(-3*(62)+14*-1+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = -1) ;
+}
+for (idx6=-2*(0)+6;idx6<=floord(2*62-7*(0)+11,21);idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=max(ceild(2*62-7*(0)+12,21),ceild(2*0+12,2));idx6<=floord(4*0+72,10);idx6++) {
+  S7(idx4 = 62,idx5 = 0) ;
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(4*0+73,10);idx6<=floord(12*0+251,30);idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(-6*(62)+77*0+1141,77);idx6<=-2*(0)+24;idx6++) {
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(12*0+252,30);idx6<=floord(-6*(62)+77*0+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 0) ;
+  S9(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=ceild(-3*(62)+14*0+672,14);idx6<=floord(-3*(62)+14*0+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 0) ;
+}
+for (idx6=-2*(1)+6;idx6<=floord(2*62-7*(1)+11,21);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(2*62-7*(1)+12,21);idx6<=floord(2*1+11,2);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(2*1+12,2);idx6<=floord(4*1+72,10);idx6++) {
+  S7(idx4 = 62,idx5 = 1) ;
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(4*1+73,10);idx6<=floord(12*1+251,30);idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(-6*(62)+77*1+1141,77);idx6<=-2*(1)+24;idx6++) {
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=max(ceild(12*1+252,30),ceild(-6*(62)+77*1+924,77));idx6<=floord(-6*(62)+77*1+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 1) ;
+  S9(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=ceild(-3*(62)+14*1+672,14);idx6<=floord(-3*(62)+14*1+780,14);idx6++) {
+  S1(idx4 = 62,idx5 = 1) ;
+}
+for (idx6=19-12;idx6<=floord(62+42,14);idx6++) {
+  S5(idx4 = 62,idx5 = 19) ;
+}
+for (idx6=ceild(-6*(62)+77*19+924,77);idx6<=floord(-6*(62)+77*19+1140,77);idx6++) {
+  S6(idx4 = 62,idx5 = 19) ;
+}
+for (idx4=63;idx4<=69;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=2;idx5++) {
+    for (idx6=ceild(2*idx5+12,2);idx6<=min(floord(4*idx5+72,10),floord(2*idx4-7*idx5+84,21));idx6++) {
+      S7 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+211,14);idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-20,14);idx5<=5;idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=6;idx6<=min(floord(idx4+42,14),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=-1;idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(4*idx4-208,56);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(4*idx4-207,56);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx4-7*idx5+12,21);idx6<=floord(2*idx5+11,2);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(2*idx5+12,2);idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=3;idx5<=floord(idx4-21,14);idx5++) {
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(idx4+210,14);idx5++) {
+    for (idx6=idx5-12;idx6<=floord(idx4+42,14);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+924,77);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+  }
+}
+for (idx4=70;idx4<=76;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=6;idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=0;idx5<=floord(10*idx4-697,77);idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=floord(6*idx4+1386,77);idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-696,77);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(2*idx4-7*idx5+11,21);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=max(ceild(2*idx4-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+      S7 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1387,77);idx5<=24;idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx5=ceild(77-120,14);idx5<=floord(10*77-823,77);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(77-83,14);idx5<=floord(77-79,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=6;idx5<=18;idx5++) {
+  for (idx6=max(ceild(77+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(77+42,14)),idx5);idx6++) {
+    S5(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(10*77-822,77);idx5<=floord(77-84,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=0;idx5<=floord(10*77-697,77);idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*(77)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx6=2;idx6<=7;idx6++) {
+  S9(idx4 = 77,idx5 = 2) ;
+}
+S7(idx4 = 77,idx5 = 2,idx6 = 8) ;
+S9(idx4 = 77,idx5 = 2,idx6 = 8) ;
+S8(idx4 = 77,idx5 = 2,idx6 = 26) ;
+S9(idx4 = 77,idx5 = 2,idx6 = 9) ;
+for (idx6=10;idx6<=floord(-6*(77)+1294,77);idx6++) {
+  S6(idx4 = 77,idx5 = 2) ;
+  S9(idx4 = 77,idx5 = 2) ;
+}
+for (idx6=ceild(-6*(77)+1295,77);idx6<=20;idx6++) {
+  S9(idx4 = 77,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(77)+700,14);idx6<=floord(-3*(77)+808,14);idx6++) {
+  S1(idx4 = 77,idx5 = 2) ;
+}
+for (idx5=3;idx5<=floord(77+5,14);idx5++) {
+  for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*(77)+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx5=19;idx5<=20;idx5++) {
+  for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(77+42,14));idx6++) {
+    S5(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+}
+for (idx5=21;idx5<=24;idx5++) {
+  for (idx6=max(ceild(-6*(77)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*(77)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 77) ;
+  }
+}
+for (idx5=ceild(10*77-696,77);idx5<=1;idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(2*77-7*idx5+11,21);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(4*idx5+73,10);idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(77)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=max(ceild(2*77-7*idx5+12,21),ceild(2*idx5+12,2));idx6<=floord(4*idx5+72,10);idx6++) {
+    S7(idx4 = 77) ;
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-6*(77)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 77) ;
+  }
+  for (idx6=ceild(-3*(77)+14*idx5+672,14);idx6<=floord(-3*(77)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 77) ;
+  }
+}
+for (idx4=78;idx4<=80;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(6,ceild(idx4+6,14));idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(0,ceild(idx4-78,14));idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx5=ceild(81-120,14);idx5<=floord(81-84,14);idx5++) {
+  for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+    S2(idx4 = 81) ;
+  }
+  for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=max(ceild(10*81-822,77),ceild(81-83,14));idx5<=floord(81-79,14);idx5++) {
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=ceild(81+6,14);idx5<=18;idx5++) {
+  for (idx6=max(ceild(81+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(81+42,14)),idx5);idx6++) {
+    S5(idx4 = 81) ;
+  }
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=ceild(81-78,14);idx5<=1;idx5++) {
+  for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(-6*(81)+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+    S9(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx6=2;idx6<=7;idx6++) {
+  S9(idx4 = 81,idx5 = 2) ;
+}
+S7(idx4 = 81,idx5 = 2,idx6 = 8) ;
+S9(idx4 = 81,idx5 = 2,idx6 = 8) ;
+S8(idx4 = 81,idx5 = 2,idx6 = 26) ;
+S9(idx4 = 81,idx5 = 2,idx6 = 9) ;
+for (idx6=10;idx6<=floord(-6*(81)+1294,77);idx6++) {
+  S6(idx4 = 81,idx5 = 2) ;
+  S9(idx4 = 81,idx5 = 2) ;
+}
+for (idx6=ceild(-6*(81)+1295,77);idx6<=20;idx6++) {
+  S9(idx4 = 81,idx5 = 2) ;
+}
+for (idx6=ceild(-3*(81)+700,14);idx6<=floord(-3*(81)+808,14);idx6++) {
+  S1(idx4 = 81,idx5 = 2) ;
+}
+for (idx5=3;idx5<=floord(81+5,14);idx5++) {
+  for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*(81)+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+672,14);idx6<=floord(-3*(81)+14*idx5+780,14);idx6++) {
+    S1(idx4 = 81) ;
+  }
+}
+for (idx5=19;idx5<=20;idx5++) {
+  for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(81+42,14));idx6++) {
+    S5(idx4 = 81) ;
+  }
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*(81)+77*idx5+1140,77);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+}
+for (idx5=21;idx5<=24;idx5++) {
+  for (idx6=max(ceild(-6*(81)+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*(81)+77*idx5+1140,77),30);idx6++) {
+    S6(idx4 = 81) ;
+  }
+  for (idx6=ceild(-3*(81)+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+    S8(idx4 = 81) ;
+  }
+}
+for (idx4=82;idx4<=83;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-84,14);idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=3;idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=84;idx4<=85;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),6);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-83,14);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=1;idx5++) {
+    for (idx6=-2*idx5+6;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx6=2;idx6<=7;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  S7(idx5 = 2,idx6 = 8) ;
+  S9(idx5 = 2,idx6 = 8) ;
+  S8(idx5 = 2,idx6 = 26) ;
+  S9(idx5 = 2,idx6 = 9) ;
+  for (idx6=10;idx6<=floord(-6*idx4+1294,77);idx6++) {
+    S6(idx5 = 2) ;
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-6*idx4+1295,77);idx6<=20;idx6++) {
+    S9(idx5 = 2) ;
+  }
+  for (idx6=ceild(-3*idx4+700,14);idx6<=floord(-3*idx4+808,14);idx6++) {
+    S1(idx5 = 2) ;
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(max(ceild(12*idx5+252,30),ceild(-6*idx4+77*idx5+924,77)),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=idx5-12;idx6<=min(floord(-idx5+36,2),floord(idx4+42,14));idx6++) {
+      S5 ;
+    }
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx4+77*idx5+924,77),ceild(6*idx5+36,6));idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=3;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=86;idx4<=89;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=4;idx6<=8;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx6=9;idx6<=floord(-6*idx4+1217,77);idx6++) {
+    S6(idx5 = 1) ;
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-6*idx4+1218,77);idx6<=22;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=90;idx4<=92;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=4;idx6<=22;idx6++) {
+    S9(idx5 = 1) ;
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=93;idx4<=97;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx6=ceild(-3*idx4+686,14);idx6<=floord(-3*idx4+794,14);idx6++) {
+    S1(idx5 = 1) ;
+  }
+  for (idx5=2;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+672,14);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=21;idx5<=24;idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(3*idx5+72,3);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=98;idx4<=101;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=min(4,floord(idx4-42,14));idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=20;idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-13*idx4+3479,105);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+672,14)),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=2;idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=102;idx4<=113;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(10*idx4-822,77);idx5<=4;idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=max(ceild(12*idx5+252,30),ceild(6*idx5+36,6));idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=min(20,floord(-idx4+246,7));idx5++) {
+    for (idx6=max(ceild(idx4+6,14),idx5-12);idx6<=floord(-idx5+36,2);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-13*idx4+3479,105);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=min(floord(-6*idx4+77*idx5+1140,77),30);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+672,14)),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=max(ceild(idx4-78,14),2);idx5<=floord(10*idx4-823,77);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=5;idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=floord(12*idx5+251,30);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(12*idx5+252,30);idx6<=floord(6*idx5+35,6);idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(6*idx5+36,6);idx6<=floord(-6*idx4+77*idx5+1140,77);idx6++) {
+      S6 ;
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx4+77*idx5+1141,77);idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=min(floord(-3*idx4+14*idx5+654,14),floord(3*idx5+72,3));idx6++) {
+      S8 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+672,14),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=114;idx4<=118;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=19;idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=119;idx4<=120;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=0;idx5++) {
+    for (idx6=idx5+24;idx6<=-2*idx5+24;idx6++) {
+      S2 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=1;idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=18;idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=ceild(3*idx5-36,3);idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=121;idx4<=125;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=18;idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14)),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=42;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(3*idx5-36,3));idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=126;idx4<=148;idx4++) {
+  for (idx5=ceild(idx4-120,14);idx5<=floord(idx4-79,14);idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5+72,3));idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-78,14);idx5<=floord(idx4-42,14);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(min(floord(-idx5+36,2),floord(idx4+42,14)),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=floord(-idx4+251,7);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+  for (idx5=19;idx5<=24;idx5++) {
+    for (idx6=max(max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14)),ceild(3*idx5-36,3));idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=min(42,floord(-3*idx4+990,14));idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(3*idx5-36,3));idx6<=min(floord(3*idx4+14*idx5-462,14),30);idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=ceild(-idx4+252,7);idx5<=18;idx5++) {
+    for (idx6=ceild(-3*idx5+126,6);idx6<=floord(3*idx4+14*idx5-462,14);idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+    for (idx6=ceild(3*idx5+72,3);idx6<=floord(-3*idx4+14*idx5+780,14);idx6++) {
+      S1 ;
+    }
+  }
+}
+for (idx4=149;idx4<=162;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=min(floord(idx4-42,14),8);idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(idx4-41,14);idx5<=floord(idx4+5,14);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(idx4+6,14);idx5<=floord(-idx4+246,7);idx5++) {
+    for (idx6=ceild(idx4+6,14);idx6<=min(floord(-idx5+36,2),idx5);idx6++) {
+      S5 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(-idx4+247,7);idx5<=floord(-11*idx4+2965,91);idx5++) {
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=max(14,ceild(-idx4+252,7));idx5<=24;idx5++) {
+    for (idx6=max(ceild(-3*idx5+126,6),ceild(3*idx4+14*idx5-570,14));idx6<=min(floord(3*idx4+14*idx5-462,14),floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+    for (idx6=ceild(-3*idx4+14*idx5+546,14);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(min(floord(3*idx4+14*idx5-462,14),30),floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+}
+for (idx4=163;idx4<=181;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=24;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(-3*idx5+126,6));idx6<=floord(3*idx5,3);idx6++) {
+      S4 ;
+    }
+    for (idx6=max(ceild(-3*idx4+14*idx5+546,14),ceild(3*idx5+1,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=182;idx4<=188;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=floord(6*idx4+1471,183);idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1472,183);idx5<=24;idx5++) {
+    for (idx6=max(ceild(3*idx4+14*idx5-570,14),ceild(-3*idx5+126,6));idx6<=floord(-3*idx4+61*idx5+545,61);idx6++) {
+      S4 ;
+    }
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=189;idx4<=190;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=8;idx5++) {
+    for (idx6=idx5;idx6<=-2*idx5+24;idx6++) {
+      S9 ;
+    }
+    for (idx6=ceild(-6*idx5+90,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=25;idx5<=floord(-3*idx4+990,14);idx5++) {
+    for (idx6=ceild(3*idx4+14*idx5-570,14);idx6<=min(30,floord(3*idx5,3));idx6++) {
+      S4 ;
+    }
+  }
+  for (idx5=9;idx5<=13;idx5++) {
+    for (idx6=max(max(ceild(-6*idx5+90,3),ceild(-3*idx4+14*idx5+546,14)),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=14;idx5<=floord(6*idx4+1471,183);idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+  for (idx5=ceild(6*idx4+1472,183);idx5<=24;idx5++) {
+    S4(idx6 = idx5) ;
+    S8(idx6 = idx5) ;
+    for (idx6=ceild(3*idx5+1,3);idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
+for (idx4=191;idx4<=218;idx4++) {
+  for (idx5=ceild(idx4-78,14);idx5<=24;idx5++) {
+    for (idx6=max(ceild(-6*idx5+90,3),ceild(3*idx5,3));idx6<=floord(-3*idx4+14*idx5+654,14);idx6++) {
+      S8 ;
+    }
+  }
+}
diff --git a/test/faber.cloog b/test/faber.cloog
new file mode 100644 (file)
index 0000000..e8a361b
--- /dev/null
@@ -0,0 +1,140 @@
+# -------------------------- CONTEXT -----------
+c # language is C 
+
+1 # Context (no contraints on parameters)
+1 2
+1 0 
+
+
+0 # No manually settings of parameter names
+
+
+# ---------------- Statements -----------------
+10  # Number of statements
+1 # statement: one domain
+7 5
+1 3 -14 14 -672
+1 -3 14 -14 780
+1 0 -3 3 -72
+1 0 3 -3 144
+1 0 3 0 18
+1 0 -3 0 54
+1 0 6 3 -90
+
+0 0 0             # for future options
+1 # statement: one domain
+7 5
+1 1 -14 0 -84
+1 -1 14 0 120
+1 0 -1 1 -24
+1 0 1 -1 48
+1 0 1 0 6
+1 0 -1 0 18
+1 0 -2 -1 24
+
+0 0 0             # for future options
+1 # statement: one domain
+6 5
+1 1 0 0 0
+1 -1 0 0 36
+1 0 8 1 0
+1 0 -8 -1 24
+1 0 1 0 0
+1 0 -1 0 24
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 3 14 -14 -462
+1 -3 -14 14 570
+1 0 3 -3 36
+1 0 -3 3 36
+1 0 0 3 -18
+1 0 0 -3 90
+1 0 3 -3 0
+1 0 3 6 -126
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 1 0 -14 42
+1 -1 0 14 -6
+1 0 1 -1 12
+1 0 -1 1 12
+1 0 0 1 -6
+1 0 0 -1 30
+1 0 1 -1 0
+1 0 -1 -2 36
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 6 -77 77 -924
+1 -6 77 -77 1140
+1 0 6 -6 72
+1 0 -6 6 72
+1 0 0 6 -36
+1 0 0 -6 180
+1 0 -6 6 -36
+1 0 -12 30 -252
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 2 -7 -21 84
+1 -2 7 21 -12
+1 0 2 -2 24
+1 0 -2 2 24
+1 0 0 2 -12
+1 0 0 -2 60
+1 0 -2 2 -12
+1 0 4 -10 72
+
+0 0 0             # for future options
+1 # statement: one domain
+7 5
+1 3 -14 14 -546
+1 -3 14 -14 654
+1 0 -3 3 0
+1 0 3 -3 72
+1 0 3 0 0
+1 0 -3 0 72
+1 0 6 3 -90
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 1 -14 0 -42
+1 -1 14 0 78
+1 0 -1 1 0
+1 0 1 -1 24
+1 0 1 0 0
+1 0 -1 0 24
+1 0 -2 -1 24
+1 0 2 1 -6
+
+0 0 0             # for future options
+1 # statement: one domain
+8 5
+1 1 -28 -7 0
+1 -1 28 7 36
+1 0 -1 1 0
+1 0 1 -1 24
+1 0 1 0 0
+1 0 -1 0 24
+1 0 -2 -1 24
+1 0 -2 -1 0
+
+0 0 0             # for future options
+
+
+3 # index names
+idx4 idx5 idx6 
+
+# ------------------- SCATTERING --------------
+0 # Scattering Functions
+
+0 # No manually settings of scattering dim names
+
+
+
diff --git a/test/forwardsub-1-1-2.c.polylib b/test/forwardsub-1-1-2.c.polylib
new file mode 100644 (file)
index 0000000..4e11b4d
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated by CLooG v0.10.7 */
+S3(i = 1,j = 1) ;
+S1(i = 2,j = 1) ;
+S4(i = 2,j = 2) ;
+for (i=3;i<=M;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=i-1;j++) {
+    S2 ;
+  }
+  S4(j = i) ;
+}
diff --git a/test/forwardsub-1-1-2.c.ppl b/test/forwardsub-1-1-2.c.ppl
new file mode 100644 (file)
index 0000000..ce8b38e
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ./forwardsub-1-1-2.cloog by CLooG 0.15 64 bits in 0.01s. */
+S3(i = 1,j = 1) ;
+S1(i = 2,j = 1) ;
+S4(i = 2,j = 2) ;
+for (i=3;i<=M;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=i-1;j++) {
+    S2 ;
+  }
+  S4(j = i) ;
+}
diff --git a/test/forwardsub-1-1-2.cloog b/test/forwardsub-1-1-2.cloog
new file mode 100644 (file)
index 0000000..38986f9
--- /dev/null
@@ -0,0 +1,56 @@
+# language: C
+c
+
+# Context
+#{N | 3<=N}
+2 3
+#   M   1
+1   1  -3
+1   0   1
+0
+
+4 # Number of statements
+
+1
+#{t1,t2 | 2<=t1<=N; t2=1; 3<=N}
+5 5
+#   i    j   M   1
+0   0    1   0  -1
+1   0    0   1  -3
+1  -1    0   1   0
+1   1    0   0  -2
+1   0    0   0   1
+0 0 0
+
+1
+#{t1,t2 | t2+1<=t1<=N; 2<=t2}
+4 5
+#   i    j    M   1
+1   1   -1    0  -1
+1   0    1    0  -2
+1  -1    0    1   0
+1   0    0    0   1
+0 0 0
+
+1
+#{t1,t2 | t1=1; t2=1; 3<=N}
+4 5
+#   i   j   M    1
+0   1   0   0   -1
+0   0   1   0   -1
+1   0   0   1   -3
+1   0   0   0    1
+0 0 0
+
+1
+#{t1,t2 | t1=t2; 2<=t2<=N; 3<=N}
+4 5
+#   i   j    M   1
+0   1   -1   0   0
+1   0   0    1   -3
+1   0   -1   1   0
+1   0   1    0   -2
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/forwardsub-2-1-2-3.c.polylib b/test/forwardsub-2-1-2-3.c.polylib
new file mode 100644 (file)
index 0000000..55d3562
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated by CLooG v0.10.7 */
+S3(i = 1,j = 0) ;
+for (k=2;k<=M;k++) {
+  S1(i = 1,j = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  S4(j = 0) ;
+  for (k=i+1;k<=M;k++) {
+    S2(j = 1) ;
+  }
+}
+S4(i = M,j = 0) ;
diff --git a/test/forwardsub-2-1-2-3.c.ppl b/test/forwardsub-2-1-2-3.c.ppl
new file mode 100644 (file)
index 0000000..504185b
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from ./forwardsub-2-1-2-3.cloog by CLooG 0.15 64 bits in 0.00s. */
+S3(i = 1,j = 0) ;
+for (k=2;k<=M;k++) {
+  S1(i = 1,j = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  S4(j = 0) ;
+  for (k=i+1;k<=M;k++) {
+    S2(j = 1) ;
+  }
+}
+S4(i = M,j = 0) ;
diff --git a/test/forwardsub-2-1-2-3.cloog b/test/forwardsub-2-1-2-3.cloog
new file mode 100644 (file)
index 0000000..33d29f3
--- /dev/null
@@ -0,0 +1,58 @@
+# language: C
+c
+
+# Context
+#{M | 3<=M}
+2 3
+#   M   1
+1   1  -3
+1   0   1
+0
+
+4 # Number of statements
+
+1
+#{i,j,k | i=1; j=1; 2<=k<=M; 3<=M}
+6 6
+#   i   j   k    M    1
+0   1   0   0    0   -1
+0   0   1   0    0   -1
+1   0   0   0    1   -3
+1   0   0   -1   1   0
+1   0   0   1    0   -2
+1   0   0   0    0   1
+0 0 0
+
+1
+#{i,j,k | 2<=i<=k-1; j=1; k<=M}
+5 6
+#   i    j   k    M    1
+0   0    1   0    0   -1
+1   -1   0   1    0   -1
+1   1    0   0    0   -2
+1   0    0   -1   1   0
+1   0    0   0    0   1
+0 0 0
+
+1
+#{i,j | i=1; j=0; 3<=M}
+4 5
+#   i   j   M    1
+0   1   0   0   -1
+0   0   1   0   0
+1   0   0   1   -3
+1   0   0   0   1
+0 0 0
+
+1
+#{i,j | 2<=i<=M; j=0; 3<=M}
+4 5
+#   i    j   M    1
+0   0    1   0   0
+1   1    0   0   -2
+1   0    0   1   -3
+1   -1   0   1   0
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/forwardsub-3-1-2.c.polylib b/test/forwardsub-3-1-2.c.polylib
new file mode 100644 (file)
index 0000000..bb43807
--- /dev/null
@@ -0,0 +1,24 @@
+/* Generated by CLooG v0.10.7 */
+S3(i = 2,j = 1) ;
+S1(i = 3,j = 1) ;
+S1(i = 4,j = 1) ;
+S4(i = 4,j = 2) ;
+for (i=5;i<=M+1;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=floord(i-1,2);j++) {
+    S2 ;
+  }
+  if (i%2 == 0) {
+    S4(j = i/2) ;
+  }
+}
+for (i=M+2;i<=2*M-1;i++) {
+  for (j=i-M;j<=floord(i-1,2);j++) {
+    S2 ;
+  }
+  if (i%2 == 0) {
+    S4(j = i/2) ;
+  }
+}
+i = 2*M ;
+S4(j = M) ;
diff --git a/test/forwardsub-3-1-2.c.ppl b/test/forwardsub-3-1-2.c.ppl
new file mode 100644 (file)
index 0000000..98edf9f
--- /dev/null
@@ -0,0 +1,24 @@
+/* Generated from ./forwardsub-3-1-2.cloog by CLooG 0.15 64 bits in 0.02s. */
+S3(i = 2,j = 1) ;
+S1(i = 3,j = 1) ;
+S1(i = 4,j = 1) ;
+S4(i = 4,j = 2) ;
+for (i=5;i<=M+1;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=floord(i-1,2);j++) {
+    S2 ;
+  }
+  if (i%2 == 0) {
+    S4(j = i/2) ;
+  }
+}
+for (i=M+2;i<=2*M-1;i++) {
+  for (j=i-M;j<=floord(i-1,2);j++) {
+    S2 ;
+  }
+  if (i%2 == 0) {
+    S4(j = i/2) ;
+  }
+}
+i = 2*M ;
+S4(j = M) ;
diff --git a/test/forwardsub-3-1-2.cloog b/test/forwardsub-3-1-2.cloog
new file mode 100644 (file)
index 0000000..6e41e75
--- /dev/null
@@ -0,0 +1,57 @@
+# language: C
+c
+
+# Context
+#{N | 3<=N}
+2 3
+#   M  1
+1   1   -3
+1   0   1
+0
+
+4 # Number of statements
+
+1
+#{t1,i | 3<=t1<=N+1; i=1; 3<=N}
+5 5
+#   i    j   M   1
+0   0    1   0   -1
+1   0    0   1   -3
+1   -1   0   1   1
+1   1    0   0   -3
+1   0    0   0   1
+0 0 0
+
+1
+#{t1,i | 2i+1<=t1<=i+N; 2<=i}
+4 5
+#   i    j    M   1
+1   1    -2   0   -1
+1   0    1    0   -2
+1   -1   1    1   0
+1   0    0    0   1
+0 0 0
+
+1
+#{t1,i | t1=2; i=1; 3<=N}
+4 5
+#   i   j   M   1
+0   1   0   0   -2
+0   0   1   0   -1
+1   0   0   1   -3
+1   0   0   0   1
+0 0 0
+
+1
+#{t1,i | t1=2i; 2<=i<=N; 3<=N}
+5 5
+#   i    j   M   1
+0   1   -2   0   0
+1   0   0    1   -3
+1   0   -1   1   0
+1   0   1    0   -2
+1   0   0    0   1
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/gauss.c.polylib b/test/gauss.c.polylib
new file mode 100644 (file)
index 0000000..d989747
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated by CLooG v0.10.7 */
+if (M >= 2) {
+  for (c2=2;c2<=M;c2++) {
+    for (j=2;j<=M;j++) {
+      S2(i = 1,k = c2) ;
+    }
+  }
+}
+for (c1=2;c1<=M-1;c1++) {
+  for (c2=c1+1;c2<=M;c2++) {
+    for (j=1;j<=c1-1;j++) {
+      S1(i = c1,k = c2) ;
+    }
+    for (j=c1+1;j<=M;j++) {
+      S2(i = c1,k = c2) ;
+    }
+  }
+}
diff --git a/test/gauss.c.ppl b/test/gauss.c.ppl
new file mode 100644 (file)
index 0000000..7629457
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ./gauss.cloog by CLooG 0.15 64 bits in 0.02s. */
+if (M >= 2) {
+  for (c2=2;c2<=M;c2++) {
+    for (j=2;j<=M;j++) {
+      S2(i = 1,k = c2) ;
+    }
+  }
+}
+for (c1=2;c1<=M-1;c1++) {
+  for (c2=c1+1;c2<=M;c2++) {
+    for (j=1;j<=c1-1;j++) {
+      S1(i = c1,k = c2) ;
+    }
+    for (j=c1+1;j<=M;j++) {
+      S2(i = c1,k = c2) ;
+    }
+  }
+}
diff --git a/test/gauss.cloog b/test/gauss.cloog
new file mode 100644 (file)
index 0000000..0a84b01
--- /dev/null
@@ -0,0 +1,72 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+0
+
+2 # Number of statements
+
+1
+# {i, j, k | 1<=i<=n; 1<=j<=i-1 i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  1 -1  0  0 -1
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+
+1
+# {i, j, k | 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+0
+
+2 # Scattering functions
+# Et les instructions de chunking...
+2 8
+# c1 c2  i  j  k  n  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0 -1  0  0
+
+2 8
+# c1 c2  i  j  k  n  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0 -1  0  0
+0
+
+2
+# Et les instructions de chunking...
+1 7
+# c1  i  j  k  n  1
+0  1  0  0  0 -1  2
+
+1 7
+# c1  i  j  k  n  1
+0  1 -1  0  0  0  1
+0
+
+2
+# Et les instructions de chunking...
+2 8
+# c1 c2  i  j  k  n  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0 -1  0  0
+
+2 8
+# c1 c2  i  j  k  n  1
+0  1  0 -1  0  0  0  0
+0  0  1  0  0 -1  0  0
+0
diff --git a/test/gesced.c.polylib b/test/gesced.c.polylib
new file mode 100644 (file)
index 0000000..1bbff6e
--- /dev/null
@@ -0,0 +1,24 @@
+/* Generated by CLooG v0.10.7 */
+for (c1=1;c1<=N;c1++) {
+  S1(i = c1) ;
+}
+for (c1=N+1;c1<=2*N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-N ;
+    S2 ;
+  }
+}
+for (c1=2*N+1;c1<=M+N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-2*N ;
+    S3 ;
+    j = c1-N ;
+    S2 ;
+  }
+}
+for (c1=M+N+1;c1<=M+2*N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-2*N ;
+    S3 ;
+  }
+}
diff --git a/test/gesced.c.ppl b/test/gesced.c.ppl
new file mode 100644 (file)
index 0000000..48e941d
--- /dev/null
@@ -0,0 +1,24 @@
+/* Generated from ./gesced.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (c1=1;c1<=N;c1++) {
+  S1(i = c1) ;
+}
+for (c1=N+1;c1<=2*N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-N ;
+    S2 ;
+  }
+}
+for (c1=2*N+1;c1<=M+N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-2*N ;
+    S3 ;
+    j = c1-N ;
+    S2 ;
+  }
+}
+for (c1=M+N+1;c1<=M+2*N;c1++) {
+  for (i=1;i<=N;i++) {
+    j = c1-2*N ;
+    S3 ;
+  }
+}
diff --git a/test/gesced.cloog b/test/gesced.cloog
new file mode 100644 (file)
index 0000000..5f37046
--- /dev/null
@@ -0,0 +1,56 @@
+# language: C
+c
+
+# parameters {n, m | n<=m n>=2 m>=2}
+3 4
+#  m  n  1
+1  1 -1  0
+1  1  0 -2
+1  0  1 -2
+0
+
+3 # Number of statements
+
+1
+# {i | 1<=i<=n}
+2 5
+#  i  m  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+0  0  0
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+#  i  j  m  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+#  i  j  m  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+0
+
+3 # Scattering functions
+# Et les instructions de chunking (prog init)...
+1 6
+# c1  i  m  n  1
+0  1 -1  0  0  0
+
+1 7
+# c1  i  j  m  n  1
+0  1  0 -1  0 -1  0
+
+1 7
+# c1  i  j  m  n  1
+0  1  0 -1  0 -2  0
+0
diff --git a/test/gesced2.c.polylib b/test/gesced2.c.polylib
new file mode 100644 (file)
index 0000000..2b54e35
--- /dev/null
@@ -0,0 +1,51 @@
+/* Generated by CLooG v0.10.7 */
+for (c1=1;c1<=4;c1++) {
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
+for (c1=5;c1<=min(M-10,9);c1++) {
+  for (c2=-c1+1;c2<=4;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=M-9;c2<=-c1+M;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+}
+if (M >= 20) {
+  for (c2=-9;c2<=4;c2++) {
+    i = c2+10 ;
+    S2(j = 10) ;
+  }
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = 10,j = c2) ;
+    i = c2+10 ;
+    S2(j = 10) ;
+  }
+}
+for (c1=11;c1<=M-10;c1++) {
+  for (c2=-c1+1;c2<=4;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=5;c2<=-c1+M;c2++) {
+    S1(i = c1,j = c2) ;
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=-c1+M+1;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
+for (c1=M-9;c1<=M;c1++) {
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
diff --git a/test/gesced2.c.ppl b/test/gesced2.c.ppl
new file mode 100644 (file)
index 0000000..6731ee9
--- /dev/null
@@ -0,0 +1,51 @@
+/* Generated from ./gesced2.cloog by CLooG 0.15 64 bits in 0.04s. */
+for (c1=1;c1<=4;c1++) {
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
+for (c1=5;c1<=min(M-10,9);c1++) {
+  for (c2=-c1+1;c2<=4;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=M-9;c2<=-c1+M;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+}
+if (M >= 20) {
+  for (c2=-9;c2<=4;c2++) {
+    i = c2+10 ;
+    S2(j = 10) ;
+  }
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = 10,j = c2) ;
+    i = c2+10 ;
+    S2(j = 10) ;
+  }
+}
+for (c1=11;c1<=M-10;c1++) {
+  for (c2=-c1+1;c2<=4;c2++) {
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=5;c2<=-c1+M;c2++) {
+    S1(i = c1,j = c2) ;
+    i = c1+c2 ;
+    S2(j = c1) ;
+  }
+  for (c2=-c1+M+1;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
+for (c1=M-9;c1<=M;c1++) {
+  for (c2=5;c2<=M-10;c2++) {
+    S1(i = c1,j = c2) ;
+  }
+}
diff --git a/test/gesced2.cloog b/test/gesced2.cloog
new file mode 100644 (file)
index 0000000..982368b
--- /dev/null
@@ -0,0 +1,82 @@
+# language: C
+c
+
+# parameters {n | n>=16}
+1 3
+#  n  1
+1  1 -16
+0
+
+2 # Number of statements
+
+1
+# {i, j | 1<=i<=n 5<=j<=n-10}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -5
+1  0 -1  1 -10
+0  0  0
+
+1
+# {i, j | 1<=i<=n 5<=j<=n-10}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -5
+1  0 -1  1 -10
+0  0  0
+0
+
+2 # Scattering functions
+# Et les instructions de chunking (sol triviale)...
+2 7
+# c1 c2  i  j  n  1
+0  1  0 -1  0  0  0
+0  0  1  0 -1  0  0
+
+2 7
+# c1 c2  i  j  n  1
+0  1  0  0 -1  0  0
+0  0  1 -1  1  0  0
+0
+
+# Et les instructions de chunking (sol aux inverse)...
+2 7
+# c1 c2  i    j  n  1
+0  1  0 -10  -3  0 -5
+0  0  1 -4   -1  0  5
+
+2 7
+# c1 c2  i    j  n  1
+0  1  0 -9   -4  0 -15
+0  0  1 -5    0  0  0
+0
+
+2
+# Et les instructions de chunking (sol aux egalites)...
+2 7
+# c1 c2  i    j  n  1
+0  1  0  1   -2  0  -30
+0  0  1 -1    1  0  30
+
+2 7
+# c1 c2  i    j  n  1
+0  1  0 -1    1  0  15
+0  0  1  1   -2  0 -30
+0
+
+# Et les instructions de chunking (sol triviale)...
+2 7
+# c1 c2  i  j  n  1
+0  1  0 -1  0  0  0
+0  0  1  0 -1  0  5
+
+2 7
+# c1 c2  i  j  n  1
+0  1  0  0 -1  0 -10
+0  0  1 -1  0  0  0
+0
+
diff --git a/test/gesced3.c.polylib b/test/gesced3.c.polylib
new file mode 100644 (file)
index 0000000..100117f
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated by CLooG v0.10.7 */
+for (c1=M+1;c1<=2*M;c1++) {
+  i = c1-M ;
+  S1 ;
+}
+for (c1=2*M+1;c1<=M+N;c1++) {
+  i = c1-2*M ;
+  S2 ;
+  i = c1-M ;
+  S1 ;
+}
+for (c1=M+N+1;c1<=2*M+N;c1++) {
+  i = c1-2*M ;
+  S2 ;
+}
diff --git a/test/gesced3.c.ppl b/test/gesced3.c.ppl
new file mode 100644 (file)
index 0000000..b72f722
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated from ./gesced3.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c1=M+1;c1<=2*M;c1++) {
+  i = c1-M ;
+  S1 ;
+}
+for (c1=2*M+1;c1<=M+N;c1++) {
+  i = c1-2*M ;
+  S2 ;
+  i = c1-M ;
+  S1 ;
+}
+for (c1=M+N+1;c1<=2*M+N;c1++) {
+  i = c1-2*M ;
+  S2 ;
+}
diff --git a/test/gesced3.cloog b/test/gesced3.cloog
new file mode 100644 (file)
index 0000000..758924c
--- /dev/null
@@ -0,0 +1,39 @@
+# language: C
+c
+
+# parametres {n | n>=m m>=2}
+2 4
+#  m  n  1
+1 -1  1  0
+1  1  0 -2
+0
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=n}
+2 5
+#  i  m  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+0  0  0
+
+1
+# {i | 1<=i<=n}
+2 5
+#  i  m  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+0  0  0
+0
+
+2
+# Et les instructions de chunking (sol triviale)...
+1 6
+# c1  i  m  n  1
+0  1 -1 -1  0  0
+
+1 6
+# c1  i  m  n  1
+0  1 -1 -2  0  0
+0
diff --git a/test/guide.c.polylib b/test/guide.c.polylib
new file mode 100644 (file)
index 0000000..b35ad78
--- /dev/null
@@ -0,0 +1,13 @@
+/* Generated from ./test/guide.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+for (i=1;i<=N;i++) {
+  if (i >= M) {
+    S1 ;
+  }
+  if (i <= min(2*M,M-1)) {
+    S1 ;
+  }
+}
+for (i=N+1;i<=2*N;i++) {
+  S2 ;
+}
diff --git a/test/guide.c.ppl b/test/guide.c.ppl
new file mode 100644 (file)
index 0000000..e2d3756
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from ./guide.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=1;i<=N;i++) {
+  if (i <= 2*M) {
+    S1 ;
+  }
+  if (i >= max(2*M+1,M)) {
+    S1 ;
+  }
+}
+for (i=N+1;i<=2*N;i++) {
+  S2 ;
+}
diff --git a/test/guide.cloog b/test/guide.cloog
new file mode 100644 (file)
index 0000000..5a35582
--- /dev/null
@@ -0,0 +1,35 @@
+# Language is C
+c
+
+# The context (no constraints on parameters)
+1 4             # 1 lines and 4 columns
+#  m  n  1
+1  0  0  0      # 0 >= 0, always true
+0 # CLooG will set parameters names automatically
+
+2 # The number of statements
+
+2 # First statement
+# The first domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1 -1  2  0  0    #  i <= 2*m
+# The second domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1  1 -1  0  0    #  i >= m
+0 0 0
+
+1 # Second statement
+2 5              # 4 lines and 6 columns
+#  i  m  n  1 
+1  1  0 -1 -1 #  i >= 1
+1 -1  0  2  0 #  i <= n
+0 0 0
+0 # CLooG will set iterators names automatically
+
+0
diff --git a/test/iftest.c.polylib b/test/iftest.c.polylib
new file mode 100644 (file)
index 0000000..1f40af6
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./test/iftest.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+for (i=1;i<=n;i++) {
+  if (i <= 2*m) {
+    S1 ;
+  }
+  if (i >= max(m,2*m+1)) {
+    S1 ;
+  }
+}
diff --git a/test/iftest.c.ppl b/test/iftest.c.ppl
new file mode 100644 (file)
index 0000000..f722f15
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./iftest.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=1;i<=n;i++) {
+  if (i <= 2*m) {
+    S1 ;
+  }
+  if (i >= max(2*m+1,m)) {
+    S1 ;
+  }
+}
diff --git a/test/iftest.cloog b/test/iftest.cloog
new file mode 100644 (file)
index 0000000..0adbc8d
--- /dev/null
@@ -0,0 +1,28 @@
+# language: C
+c
+# The context (no constraints on parameters)
+1 4             # 1 lines and 4 columns
+#  m  n  1
+1  0  0  0
+1
+m n
+
+1 # The number of statements
+
+2 # First statement
+# The first domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1  1 -1  0  0    #  i >= m
+# The second domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1 -1  2  0  0    #  i <= 2*m
+0 0 0
+0
+
+0
diff --git a/test/iftest2.c.polylib b/test/iftest2.c.polylib
new file mode 100644 (file)
index 0000000..9f3cbbc
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from ./test/iftest2.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+if (M >= 1) {
+  for (i=1;i<=N;i++) {
+    for (j=1;j<=M;j++) {
+      if (i <= 2*M) {
+        S1 ;
+      }
+      if (i >= max(M,2*M+1)) {
+        S1 ;
+      }
+    }
+  }
+}
diff --git a/test/iftest2.c.ppl b/test/iftest2.c.ppl
new file mode 100644 (file)
index 0000000..d224f72
--- /dev/null
@@ -0,0 +1,13 @@
+/* Generated from ./iftest2.cloog by CLooG 0.15 64 bits in 0.00s. */
+if (M >= 1) {
+  for (i=1;i<=N;i++) {
+    for (j=1;j<=M;j++) {
+      if (i <= 2*M) {
+        S1 ;
+      }
+      if (i >= max(2*M+1,M)) {
+        S1 ;
+      }
+    }
+  }
+}
diff --git a/test/iftest2.cloog b/test/iftest2.cloog
new file mode 100644 (file)
index 0000000..d13abce
--- /dev/null
@@ -0,0 +1,31 @@
+# language: C
+c
+1 # The context (no constraints on parameters)
+1 4             # 1 lines and 4 columns
+#  m  n  1
+1  0  0  0
+0
+
+1 # The number of statements
+
+2 # First statement
+# The first domain
+5 6              # 3 lines and 5 columns
+#  i  j  m  n  1 
+1  1  0  0  0 -1    #  i >= 1
+1 -1  0  0  1  0    #  i <= n
+1  1  0 -1  0  0    #  i >= m
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+# The second domain
+5 6              # 3 lines and 5 columns
+#  i  j  m  n  1 
+1  1  0  0  0 -1    #  i >= 1
+1 -1  0  0  1  0    #  i <= n
+1 -1  0  2  0  0    #  i <= 2*m
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+
+0
diff --git a/test/iftestf.cloog b/test/iftestf.cloog
new file mode 100644 (file)
index 0000000..1f0d6a9
--- /dev/null
@@ -0,0 +1,29 @@
+# language: FORTRAN
+f
+
+# The context (no constraints on parameters)
+1 4             # 1 lines and 4 columns
+#  m  n  1
+1  0  0  0
+1
+m n
+
+1 # The number of statements
+
+2 # First statement
+# The first domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1  1 -1  0  0    #  i >= m
+# The second domain
+3 5              # 3 lines and 5 columns
+#  i  m  n  1 
+1  1  0  0 -1    #  i >= 1
+1 -1  0  1  0    #  i <= n
+1 -1  2  0  0    #  i <= 2*m
+0 0 0
+0
+
+0
diff --git a/test/iftestf.f.polylib b/test/iftestf.f.polylib
new file mode 100644 (file)
index 0000000..98ebb57
--- /dev/null
@@ -0,0 +1,10 @@
+! Generated from ./test/iftestf.cloog by CLooG v0.14.0 64 bits in 0.00s.
+! CLooG asked for 168 KBytes.
+DO i=1, n
+  IF (i <= 2*m) THEN
+    S1
+  END IF
+  IF (i >= MAX(m,2*m+1)) THEN
+    S1
+  END IF
+END DO
diff --git a/test/iftestf.f.ppl b/test/iftestf.f.ppl
new file mode 100644 (file)
index 0000000..8aa791e
--- /dev/null
@@ -0,0 +1,9 @@
+! Generated from ./iftestf.cloog by CLooG 0.15 64 bits in 0.00s.
+DO i=1, n
+  IF (i <= 2*m) THEN
+    S1
+  END IF
+  IF (i >= MAX(2*m+1,m)) THEN
+    S1
+  END IF
+END DO
diff --git a/test/infinite.c.polylib b/test/infinite.c.polylib
new file mode 100644 (file)
index 0000000..9121ff4
--- /dev/null
@@ -0,0 +1,13 @@
+/* Generated by CLooG v0.10.7 */
+for (;i<=0;i++) {
+  S1 ;
+}
+for (i=1;i<=N;i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;;i++) {
+  S1 ;
+}
diff --git a/test/infinite.c.ppl b/test/infinite.c.ppl
new file mode 100644 (file)
index 0000000..6c91d99
--- /dev/null
@@ -0,0 +1,13 @@
+/* Generated from ./infinite.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (;i<=0;i++) {
+  S1 ;
+}
+for (i=1;i<=N;i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;;i++) {
+  S1 ;
+}
diff --git a/test/infinite.cloog b/test/infinite.cloog
new file mode 100644 (file)
index 0000000..dacc187
--- /dev/null
@@ -0,0 +1,32 @@
+# langage
+c
+
+# parametres {M, N | M>=1 N >=1}
+2 4
+#  M  N  1
+1  1  0 -1
+1  0  1 -1
+0
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=M}
+0 5
+#  i  M  N  1
+#1  1  0  0 -1
+#1 -1  1  0  0
+0 0 0
+
+1
+# {i, j | 1<=i<=N 1<=j<=M}
+4 6
+#  i  j  M  N  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+0 # Scattering functions
diff --git a/test/infinite.omega b/test/infinite.omega
new file mode 100644 (file)
index 0000000..585b1ef
--- /dev/null
@@ -0,0 +1,13 @@
+# CLooG -> OMEGA
+# This is an automatic dump of an input file from a CloogProgram data
+# structure. It can be correct ONLY if dumped before loop generation.
+
+# Context (2 parameter(s)).
+Symbolic M, N ;
+
+# Iteration domains:
+IS10:={[i]: 1>=0} ;
+IS20:={[i,j]: i-1>=0 && -i+N>=0 && j-1>=0 && -j+M>=0 && 1>=0} ;
+
+# CodeGen call:
+codegen 2 IS10, IS20 ;
diff --git a/test/infinite2.c.polylib b/test/infinite2.c.polylib
new file mode 100644 (file)
index 0000000..080b16a
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=N;i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;;i++) {
+  S1 ;
+}
diff --git a/test/infinite2.c.ppl b/test/infinite2.c.ppl
new file mode 100644 (file)
index 0000000..fe8efa7
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./infinite2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=1;i<=N;i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;;i++) {
+  S1 ;
+}
diff --git a/test/infinite2.cloog b/test/infinite2.cloog
new file mode 100644 (file)
index 0000000..2d7cf97
--- /dev/null
@@ -0,0 +1,32 @@
+# langage
+c
+
+# parametres {M, N | M>=1 N >=1}
+2 4
+#  M  N  1
+1  1  0 -1
+1  0  1 -1
+0
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=M}
+1 5
+#  i  M  N  1
+1  1  0  0 -1
+#1 -1  1  0  0
+0 0 0
+
+1
+# {i, j | 1<=i<=N 1<=j<=M}
+4 6
+#  i  j  M  N  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+0 # Scattering functions
diff --git a/test/infinite3.c.polylib b/test/infinite3.c.polylib
new file mode 100644 (file)
index 0000000..9ce61b1
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated by CLooG v0.10.7 */
+for (;i<=0;i++) {
+  S1 ;
+}
+for (i=1;i<=min(M,N);i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  S1 ;
+}
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/infinite3.c.ppl b/test/infinite3.c.ppl
new file mode 100644 (file)
index 0000000..e35dc21
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ./infinite3.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (;i<=0;i++) {
+  S1 ;
+}
+for (i=1;i<=min(M,N);i++) {
+  S1 ;
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  S1 ;
+}
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S2 ;
+  }
+}
diff --git a/test/infinite3.cloog b/test/infinite3.cloog
new file mode 100644 (file)
index 0000000..9154a0e
--- /dev/null
@@ -0,0 +1,32 @@
+# langage
+c
+
+# parametres {M, N | M>=1 N >=1}
+2 4
+#  M  N  1
+1  1  0 -1
+1  0  1 -1
+0
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=M}
+1 5
+#  i  M  N  1
+#1  1  0  0 -1
+1 -1  1  0  0
+0 0 0
+
+1
+# {i, j | 1<=i<=N 1<=j<=M}
+4 6
+#  i  j  M  N  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+0 # Scattering functions
diff --git a/test/infinite4.c.polylib b/test/infinite4.c.polylib
new file mode 100644 (file)
index 0000000..62301dc
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (;;i++) {
+  S1 ;
+}
diff --git a/test/infinite4.c.ppl b/test/infinite4.c.ppl
new file mode 100644 (file)
index 0000000..782b505
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./infinite4.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (;;i++) {
+  S1 ;
+}
diff --git a/test/infinite4.cloog b/test/infinite4.cloog
new file mode 100644 (file)
index 0000000..5502453
--- /dev/null
@@ -0,0 +1,16 @@
+# langage
+c
+
+# Context
+0 2
+0
+
+1 # Number of statements
+
+1
+# {i | 1<=i<=M}
+0 3
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/ispdc.cloog b/test/ispdc.cloog
new file mode 100644 (file)
index 0000000..a2a9fbb
--- /dev/null
@@ -0,0 +1,26 @@
+# language: C
+c
+
+# parameter {}
+0 2
+0
+
+1 # Number of statements:
+
+1
+# {i, j | 1<=i<=3 1<=j<=3}
+4 4
+#   i   j   1
+1   1   0  -1
+1  -1   0   3
+1   0   1  -1
+1   0  -1   3
+0   0   0
+0
+
+1 # Scattering functions
+
+1 5
+# c1   j   i   1
+0  1  -1  -1   0
+0
diff --git a/test/issues b/test/issues
new file mode 100644 (file)
index 0000000..88507aa
--- /dev/null
@@ -0,0 +1,66 @@
+Fully tested: up to linearity.
+
+------------LEAKS-------------
+leaks by Domain_Difference:
+4-param 
+byu98-1-2-3
+darte
+durbin_e_s
+emploi
+forwardsub-1-1-2
+forwardsub-2-1-2-3
+forwardsub-3-1-2
+gesced
+gesced2
+guide
+iftest
+iftest2
+infinite
+infinite3
+levenshtein-1-2-3
+
+
+leaks by cloog_statement_copy:
+cholesky
+cholesky2
+
+
+leaks by forgotten domains !!!
+cholesky2
+
+
+------------ERRORS-------------
+errors by Domain_Difference:
+cholesky
+cholesky2
+darte
+durbin_e_s
+escedk
+forwardsub-1-1-2
+forwardsub-3-1-2
+levenshtein-1-2-3
+
+
+
+errors by pprint_equal_type:
+basic-bounds-2
+basic-bounds-6
+levenshtein-1-2-3
+
+
+
+errors by PolyhedronTSort:
+cholesky2
+cholesky
+darte
+durbin_e_s
+elimination
+escedk
+forwardsub-1-1-2
+forwardsub-2-1-2-3
+forwardsub-3-1-2
+levenshtein-1-2-3
+
+
+
+
diff --git a/test/largeur.c.polylib b/test/largeur.c.polylib
new file mode 100644 (file)
index 0000000..712eed4
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated by CLooG v0.10.7 */
+for (c1=1;c1<=M;c1++) {
+  for (c2=1;c2<=c1;c2++) {
+    S1(i = c2,j = c1) ;
+  }
+}
diff --git a/test/largeur.c.ppl b/test/largeur.c.ppl
new file mode 100644 (file)
index 0000000..5ba0c2c
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from ./largeur.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c1=1;c1<=M;c1++) {
+  for (c2=1;c2<=c1;c2++) {
+    S1(i = c2,j = c1) ;
+  }
+}
diff --git a/test/largeur.cloog b/test/largeur.cloog
new file mode 100644 (file)
index 0000000..9b21d70
--- /dev/null
@@ -0,0 +1,27 @@
+# language: C
+c
+
+1
+# parameters {n | n>= 0}
+1 3
+1  1  0
+0
+
+1 # Number of statements
+
+1
+# {i, j | 1<=i<=n i<=j<=n}
+4 5
+1  1  0  0  -1
+1 -1  0  1   0
+1 -1  1  0   0
+1  0 -1  1   0
+0 0 0
+0
+
+1 # Scattering functions
+# Et les instructions de chunking...
+2 7
+0 1 0  0 -1 0 0
+0 0 1 -1  0 0 0
+0
diff --git a/test/levenshtein-1-2-3.c.polylib b/test/levenshtein-1-2-3.c.polylib
new file mode 100644 (file)
index 0000000..8ef922e
--- /dev/null
@@ -0,0 +1,42 @@
+/* Generated from levenshtein-1-2-3.cloog by CLooG v0.14.0 gmp bits in 0.04s. */
+/* CLooG asked for 236 KBytes. */
+S1(i = 0,j = 0) ;
+S2(i = 1,j = 0) ;
+S3(i = 1,j = 1) ;
+for (i=2;i<=N;i++) {
+  S2(j = 0) ;
+  for (j=1;j<=i-1;j++) {
+    S6 ;
+  }
+  S3(j = i) ;
+}
+i = N+1 ;
+S7(j = 0) ;
+for (j=1;j<=N;j++) {
+  S6 ;
+  S8 ;
+}
+for (i=N+2;i<=2*M-N-2;i++) {
+  for (j=ceild(i-N-2,2);j<=floord(i-N-1,2);j++) {
+    S7 ;
+  }
+  if ((i+N)%2 == 0) {
+    j = (i-N)/2 ;
+    S5 ;
+    S8 ;
+  }
+  for (j=ceild(i-N+1,2);j<=floord(i+N-1,2);j++) {
+    S6 ;
+    S8 ;
+  }
+  if ((i+N)%2 == 0) {
+    j = (i+N)/2 ;
+    S4 ;
+    S8 ;
+  }
+}
+for (i=2*M-N-1;i<=2*M-2;i++) {
+  for (j=i-M+1;j<=M-1;j++) {
+    S6 ;
+  }
+}
diff --git a/test/levenshtein-1-2-3.c.ppl b/test/levenshtein-1-2-3.c.ppl
new file mode 100644 (file)
index 0000000..125a603
--- /dev/null
@@ -0,0 +1,41 @@
+/* Generated from ./levenshtein-1-2-3.cloog by CLooG 0.15 64 bits in 0.06s. */
+S1(i = 0,j = 0) ;
+S2(i = 1,j = 0) ;
+S3(i = 1,j = 1) ;
+for (i=2;i<=N;i++) {
+  S2(j = 0) ;
+  for (j=1;j<=i-1;j++) {
+    S6 ;
+  }
+  S3(j = i) ;
+}
+i = N+1 ;
+S7(j = 0) ;
+for (j=1;j<=N;j++) {
+  S6 ;
+  S8 ;
+}
+for (i=N+2;i<=2*M-N-2;i++) {
+  for (j=ceild(i-N-2,2);j<=floord(i-N-1,2);j++) {
+    S7 ;
+  }
+  if ((i+N)%2 == 0) {
+    j = (i-N)/2 ;
+    S5 ;
+    S8 ;
+  }
+  for (j=ceild(i-N+1,2);j<=floord(i+N-1,2);j++) {
+    S6 ;
+    S8 ;
+  }
+  if ((i+N)%2 == 0) {
+    j = (i+N)/2 ;
+    S4 ;
+    S8 ;
+  }
+}
+for (i=2*M-N-1;i<=2*M-2;i++) {
+  for (j=i-M+1;j<=M-1;j++) {
+    S6 ;
+  }
+}
diff --git a/test/levenshtein-1-2-3.cloog b/test/levenshtein-1-2-3.cloog
new file mode 100644 (file)
index 0000000..acc6522
--- /dev/null
@@ -0,0 +1,110 @@
+# language: C
+c
+
+# Context
+# {length,width | width+2<=length; 1<=width}
+3   4
+#  M  N   1
+1  1  -1 -2
+1  0  1  -1
+1  0  0  1
+0
+
+8 # Number of statements
+
+1
+# {t1,t2,length,width | t1=0; t2=0; width+2<=length; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  0  0  0  0
+0  0  1  0  0  0
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | 1<=t1<=width; t2=0; width+2<=length}
+5   6
+#  i  j  M  N  1
+0  0  1  0  0  0
+1  1  0  0  0  -1
+1  -1 0  0  1  0
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=t2; 1<=t2<=width; width+2<=length}
+5   6
+#  i  j  M  N  1
+0  1  -1 0  0  0
+1  0  1  0  0  -1
+1  0  -1 0  1  0
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=2t2-width; width+1<=t2<=length-1; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  -2 0  1  0
+1  0  1  0  -1 -1
+1  0  -1 1  0  -1
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=2t2+width; 1<=t2<=length-width-1; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  -2 0  -1 0
+1  0  1  0  0  -1
+1  0  -1 1  -1 -1
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | (2t2-width+1,t2+1)<=t1<=(t2+length-1,2t2+width-1); 1<=t2<=length-1; width+2<=length}
+8   6
+#  i  j  M  N  1
+1  1  -2 0  1  -1
+1  1  -1 0  0  -1
+1  -1 1  1  0  -1
+1  -1 2  0  1  -1
+1  0  1  0  0  -1
+1  0  -1 1  0  -1
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | (width+1,2t2+width+1)<=t1<=(2length-width-2,2t2+width+2); width+2<=length; 1<=width}
+6   6
+#  i  j  M  N  1
+1  1  0  0  -1 -1
+1  1  -2 0  -1 -1
+1  -1 0  2  -1 -2
+1  -1 2  0  1  2
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+0 0 0
+
+1
+# {t1,t2,length,width | (width+1,2t2-width)<=t1<=(2t2+width,2length-width-2); width+2<=length; 1<=width}
+7   6
+#  i  j  M  N  1
+1  1  0  0  -1 -1
+1  1  -2 0  1  0
+1  -1 2  0  1  0
+1  -1 0  2  -1 -2
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/levenshtein-1-2-3f.c.polylib b/test/levenshtein-1-2-3f.c.polylib
new file mode 100644 (file)
index 0000000..9ab1b28
--- /dev/null
@@ -0,0 +1,42 @@
+! Generated from ./test/levenshtein-1-2-3f.cloog by CLooG v1.0.0 64 bits in 0.03s.
+! CLooG asked for 164 KBytes.
+S1(i = 0,j = 0)
+S2(i = 1,j = 0)
+S3(i = 1,j = 1)
+DO i=2, N
+  S2(j = 0)
+  DO j=1, i-1
+    S6
+  END DO
+  S3(j = i)
+END DO
+i = N+1
+S7(j = 0)
+DO j=1, N
+  S6
+  S8
+END DO
+DO i=N+2, 2*M-N-2
+  DO j=CEILING(REAL(i-N-2)/REAL(2)), FLOOR(REAL(i-N-1)/REAL(2))
+    S7
+  END DO
+  IF (MOD(i-N,2) == 0) THEN
+    j = (i-N)/2
+    S5
+    S8
+  END IF
+  IF (MOD(i+N,2) == 0) THEN
+    j = (i+N)/2
+    S4
+    S8
+  END IF
+  DO j=CEILING(REAL(i-N+1)/REAL(2)), FLOOR(REAL(i+N-1)/REAL(2))
+    S6
+    S8
+  END DO
+END DO
+DO i=2*M-N-1, 2*M-2
+  DO j=i-M+1, M-1
+    S6
+  END DO
+END DO
diff --git a/test/levenshtein-1-2-3f.c.ppl b/test/levenshtein-1-2-3f.c.ppl
new file mode 100644 (file)
index 0000000..9e5b069
--- /dev/null
@@ -0,0 +1,41 @@
+! Generated from levenshtein-1-2-3f.cloog by CLooG  64 bits in 0.67s.
+S1(i = 0,j = 0)
+S2(i = 1,j = 0)
+S3(i = 1,j = 1)
+DO i=2, N
+  S2(j = 0)
+  DO j=1, i-1
+    S6
+  END DO
+  S3(j = i)
+END DO
+i = N+1
+S7(j = 0)
+DO j=1, N
+  S6
+  S8
+END DO
+DO i=N+2, 2*M-N-2
+  DO j=CEILING(REAL(i-N-2)/REAL(2)), FLOOR(REAL(i-N-1)/REAL(2))
+    S7
+  END DO
+  DO j=CEILING(REAL(i-N+1)/REAL(2)), FLOOR(REAL(i+N-1)/REAL(2))
+    S6
+    S8
+  END DO
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i+N)/2
+    S4
+    S8
+  END IF
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i-N)/2
+    S5
+    S8
+  END IF
+END DO
+DO i=2*M-N-1, 2*M-2
+  DO j=i-M+1, M-1
+    S6
+  END DO
+END DO
diff --git a/test/levenshtein-1-2-3f.cloog b/test/levenshtein-1-2-3f.cloog
new file mode 100644 (file)
index 0000000..c78bc19
--- /dev/null
@@ -0,0 +1,110 @@
+# language: FORTRAN
+f
+
+# Context
+# {length,width | width+2<=length; 1<=width}
+3   4
+#  M  N   1
+1  1  -1 -2
+1  0  1  -1
+1  0  0  1
+0
+
+8 # Number of statements
+
+1
+# {t1,t2,length,width | t1=0; t2=0; width+2<=length; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  0  0  0  0
+0  0  1  0  0  0
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | 1<=t1<=width; t2=0; width+2<=length}
+5   6
+#  i  j  M  N  1
+0  0  1  0  0  0
+1  1  0  0  0  -1
+1  -1 0  0  1  0
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=t2; 1<=t2<=width; width+2<=length}
+5   6
+#  i  j  M  N  1
+0  1  -1 0  0  0
+1  0  1  0  0  -1
+1  0  -1 0  1  0
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=2t2-width; width+1<=t2<=length-1; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  -2 0  1  0
+1  0  1  0  -1 -1
+1  0  -1 1  0  -1
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | t1=2t2+width; 1<=t2<=length-width-1; 1<=width}
+5   6
+#  i  j  M  N  1
+0  1  -2 0  -1 0
+1  0  1  0  0  -1
+1  0  -1 1  -1 -1
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | (2t2-width+1,t2+1)<=t1<=(t2+length-1,2t2+width-1); 1<=t2<=length-1; width+2<=length}
+8   6
+#  i  j  M  N  1
+1  1  -2 0  1  -1
+1  1  -1 0  0  -1
+1  -1 1  1  0  -1
+1  -1 2  0  1  -1
+1  0  1  0  0  -1
+1  0  -1 1  0  -1
+1  0  0  1  -1 -2
+1  0  0  0  0  1
+0 0 0
+
+1
+# {t1,t2,length,width | (width+1,2t2+width+1)<=t1<=(2length-width-2,2t2+width+2); width+2<=length; 1<=width}
+6   6
+#  i  j  M  N  1
+1  1  0  0  -1 -1
+1  1  -2 0  -1 -1
+1  -1 0  2  -1 -2
+1  -1 2  0  1  2
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+0 0 0
+
+1
+# {t1,t2,length,width | (width+1,2t2-width)<=t1<=(2t2+width,2length-width-2); width+2<=length; 1<=width}
+7   6
+#  i  j  M  N  1
+1  1  0  0  -1 -1
+1  1  -2 0  1  0
+1  -1 2  0  1  0
+1  -1 0  2  -1 -2
+1  0  0  1  -1 -2
+1  0  0  0  1  -1
+1  0  0  0  0  1
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/levenshtein-1-2-3f.f.polylib b/test/levenshtein-1-2-3f.f.polylib
new file mode 100644 (file)
index 0000000..802679e
--- /dev/null
@@ -0,0 +1,42 @@
+! Generated from levenshtein-1-2-3f.cloog by CLooG v0.14.0 gmp bits in 0.04s.
+! CLooG asked for 236 KBytes.
+S1(i = 0,j = 0)
+S2(i = 1,j = 0)
+S3(i = 1,j = 1)
+DO i=2, N
+  S2(j = 0)
+  DO j=1, i-1
+    S6
+  END DO
+  S3(j = i)
+END DO
+i = N+1
+S7(j = 0)
+DO j=1, N
+  S6
+  S8
+END DO
+DO i=N+2, 2*M-N-2
+  DO j=CEILING(REAL(i-N-2)/REAL(2)), FLOOR(REAL(i-N-1)/REAL(2))
+    S7
+  END DO
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i-N)/2
+    S5
+    S8
+  END IF
+  DO j=CEILING(REAL(i-N+1)/REAL(2)), FLOOR(REAL(i+N-1)/REAL(2))
+    S6
+    S8
+  END DO
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i+N)/2
+    S4
+    S8
+  END IF
+END DO
+DO i=2*M-N-1, 2*M-2
+  DO j=i-M+1, M-1
+    S6
+  END DO
+END DO
diff --git a/test/levenshtein-1-2-3f.f.ppl b/test/levenshtein-1-2-3f.f.ppl
new file mode 100644 (file)
index 0000000..5123022
--- /dev/null
@@ -0,0 +1,41 @@
+! Generated from ./levenshtein-1-2-3f.cloog by CLooG 0.15 64 bits in 0.07s.
+S1(i = 0,j = 0)
+S2(i = 1,j = 0)
+S3(i = 1,j = 1)
+DO i=2, N
+  S2(j = 0)
+  DO j=1, i-1
+    S6
+  END DO
+  S3(j = i)
+END DO
+i = N+1
+S7(j = 0)
+DO j=1, N
+  S6
+  S8
+END DO
+DO i=N+2, 2*M-N-2
+  DO j=CEILING(REAL(i-N-2)/REAL(2)), FLOOR(REAL(i-N-1)/REAL(2))
+    S7
+  END DO
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i-N)/2
+    S5
+    S8
+  END IF
+  DO j=CEILING(REAL(i-N+1)/REAL(2)), FLOOR(REAL(i+N-1)/REAL(2))
+    S6
+    S8
+  END DO
+  IF (MOD(i+N, 2) == 0) THEN
+    j = (i+N)/2
+    S4
+    S8
+  END IF
+END DO
+DO i=2*M-N-1, 2*M-2
+  DO j=i-M+1, M-1
+    S6
+  END DO
+END DO
diff --git a/test/lineality-1-2.c.polylib b/test/lineality-1-2.c.polylib
new file mode 100644 (file)
index 0000000..b4735a3
--- /dev/null
@@ -0,0 +1,21 @@
+/* Generated by CLooG v0.10.7 */
+S1(i = 1,j = 1) ;
+S2(i = 1,j = 1) ;
+for (j=2;j<=M;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    S1 ;
+  }
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
+S1(i = M,j = M) ;
+S2(i = M,j = M) ;
diff --git a/test/lineality-1-2.c.ppl b/test/lineality-1-2.c.ppl
new file mode 100644 (file)
index 0000000..e477aa8
--- /dev/null
@@ -0,0 +1,21 @@
+/* Generated from ./lineality-1-2.cloog by CLooG 0.15 64 bits in 0.01s. */
+S1(i = 1,j = 1) ;
+S2(i = 1,j = 1) ;
+for (j=2;j<=M;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    S1 ;
+  }
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
+S1(i = M,j = M) ;
+S2(i = M,j = M) ;
diff --git a/test/lineality-1-2.cloog b/test/lineality-1-2.cloog
new file mode 100644 (file)
index 0000000..7629fd8
--- /dev/null
@@ -0,0 +1,36 @@
+# language: C
+c
+
+# Context
+# {M | 2<=M}
+2   3
+#  M  1
+1  1 -2
+1  0  1
+0
+
+2 # Number of statements
+
+1
+# {i,j,M | 1<=i<=M; 1<=j<=M}
+5   5
+#   i   j   M   1
+1   1   0   0  -1
+1   0   1   0  -1
+1  -1   0   1   0
+1   0  -1   1   0
+1   0   0   0   1
+0   0   0
+
+1
+# {i,j,M | i=j; 1<=j<=M}
+4   5
+#   i   j   M   1
+0   1  -1   0   0
+1   0   1   0  -1
+1   0  -1   1   0
+1   0   0   0   1
+0   0   0
+0
+
+0 # Scattering functions
diff --git a/test/lineality-2-1-2.c.polylib b/test/lineality-2-1-2.c.polylib
new file mode 100644 (file)
index 0000000..ed5722f
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=M-3;i++) {
+  for (j=1;j<=i+1;j++) {
+    S1 ;
+  }
+  j = i+2 ;
+  S1 ;
+  S2 ;
+  for (j=i+3;j<=M;j++) {
+    S1 ;
+  }
+}
+if (M >= 3) {
+  i = M-2 ;
+  for (j=1;j<=M-1;j++) {
+    S1 ;
+  }
+  S1(j = M) ;
+  S2(j = M) ;
+}
+for (i=M-1;i<=M;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+  j = i+2 ;
+  S2 ;
+}
diff --git a/test/lineality-2-1-2.c.ppl b/test/lineality-2-1-2.c.ppl
new file mode 100644 (file)
index 0000000..4edecea
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated from ./lineality-2-1-2.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=1;i<=M-3;i++) {
+  for (j=1;j<=i+1;j++) {
+    S1 ;
+  }
+  j = i+2 ;
+  S1 ;
+  S2 ;
+  for (j=i+3;j<=M;j++) {
+    S1 ;
+  }
+}
+if (M >= 3) {
+  i = M-2 ;
+  for (j=1;j<=M-1;j++) {
+    S1 ;
+  }
+  S1(j = M) ;
+  S2(j = M) ;
+}
+for (i=M-1;i<=M;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+  j = i+2 ;
+  S2 ;
+}
diff --git a/test/lineality-2-1-2.cloog b/test/lineality-2-1-2.cloog
new file mode 100644 (file)
index 0000000..e97da16
--- /dev/null
@@ -0,0 +1,37 @@
+# language: C
+c
+
+# Context
+1
+# {M | 2<=M}
+2   3
+# M 1
+1 1 -2
+1 0 1
+0
+
+2 # Number of statements
+
+1
+# {i,j,M | 1<=i<=M; 1<=j<=M}
+5   5
+#  i  j  M  1
+1  1  0  0  -1
+1  0  1  0  -1
+1  -1 0  1  0
+1  0  -1 1  0
+1  0  0  0  1
+0 0 0
+
+1
+# {i,j,M | i=j-2; 3<=j<=M+2}
+4   5
+#  i  j  M  1
+0  1  -1 0  2
+1  0  1  0  -3
+1  0  -1 1  2
+1  0  0  0  1
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/logo.c.polylib b/test/logo.c.polylib
new file mode 100644 (file)
index 0000000..d9eb710
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated by CLooG v0.10.7 */
+for (j=0;j<=7;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=5;i++) {
+  for (j=0;j<=i-2;j++) {
+    S2 ;
+  }
+  for (j=i-1;j<=4;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=5;j<=7;j++) {
+    S1 ;
+  }
+}
+for (j=0;j<=4;j++) {
+  S2(i = 6) ;
+}
+for (j=5;j<=7;j++) {
+  S1(i = 6) ;
+}
+for (i=7;i<=8;i++) {
+  for (j=i-1;j<=7;j++) {
+    S1 ;
+  }
+}
diff --git a/test/logo.c.ppl b/test/logo.c.ppl
new file mode 100644 (file)
index 0000000..130436b
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated from ./logo.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (j=0;j<=7;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=5;i++) {
+  for (j=0;j<=i-2;j++) {
+    S2 ;
+  }
+  for (j=i-1;j<=4;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=5;j<=7;j++) {
+    S1 ;
+  }
+}
+for (j=0;j<=4;j++) {
+  S2(i = 6) ;
+}
+for (j=5;j<=7;j++) {
+  S1(i = 6) ;
+}
+for (i=7;i<=8;i++) {
+  for (j=i-1;j<=7;j++) {
+    S1 ;
+  }
+}
diff --git a/test/logo.cloog b/test/logo.cloog
new file mode 100644 (file)
index 0000000..5583c29
--- /dev/null
@@ -0,0 +1,30 @@
+# language: C
+c
+
+# Context
+1 3
+#  n  1
+1  0  1
+0
+
+2 # Number of statements
+
+1
+3 5
+#  i  j  n  1
+1  1  0  0 -1 # i >= 1
+1  0 -1  0  7 # j <= 7
+1 -1  1  0  1 # j >= i-1
+0  0  0
+
+1
+4 5
+#  i  j  n  1
+1  1  0  0 -2 # i >= 2
+1 -1  0  0  6 # i <= 6
+1  0  1  0  0 # j >= 0
+1  0 -1  0  4 # j <= 4
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/logopar.c.polylib b/test/logopar.c.polylib
new file mode 100644 (file)
index 0000000..574c3ab
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+for (j=0;j<=m;j++) {
+  S1(i = 1) ;
+}
+if (m >= n+1) {
+  for (i=2;i<=n;i++) {
+    for (j=0;j<=i-2;j++) {
+      S2 ;
+    }
+    for (j=i-1;j<=n;j++) {
+      S1 ;
+      S2 ;
+    }
+    for (j=n+1;j<=m;j++) {
+      S1 ;
+    }
+  }
+}
+if (m == n) {
+  for (i=2;i<=n;i++) {
+    for (j=0;j<=i-2;j++) {
+      S2 ;
+    }
+    for (j=i-1;j<=n;j++) {
+      S1 ;
+      S2 ;
+    }
+  }
+}
+for (i=n+1;i<=m+1;i++) {
+  for (j=i-1;j<=m;j++) {
+    S1 ;
+  }
+}
diff --git a/test/logopar.c.ppl b/test/logopar.c.ppl
new file mode 100644 (file)
index 0000000..3085b37
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated from ./logopar.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (j=0;j<=m;j++) {
+  S1(i = 1) ;
+}
+if (m >= n+1) {
+  for (i=2;i<=n;i++) {
+    for (j=0;j<=i-2;j++) {
+      S2 ;
+    }
+    for (j=i-1;j<=n;j++) {
+      S1 ;
+      S2 ;
+    }
+    for (j=n+1;j<=m;j++) {
+      S1 ;
+    }
+  }
+}
+if (m == n) {
+  for (i=2;i<=n;i++) {
+    for (j=0;j<=i-2;j++) {
+      S2 ;
+    }
+    for (j=i-1;j<=m;j++) {
+      S1 ;
+      S2 ;
+    }
+  }
+}
+for (i=n+1;i<=m+1;i++) {
+  for (j=i-1;j<=m;j++) {
+    S1 ;
+  }
+}
diff --git a/test/logopar.cloog b/test/logopar.cloog
new file mode 100644 (file)
index 0000000..37114ae
--- /dev/null
@@ -0,0 +1,33 @@
+# language: C
+c
+
+# Context
+3 4
+#  m  n  1
+1  1 -1  0  # m > n
+1  1  0  0  # m >= 0
+1  0  1 -2  # n >= 2
+1
+m n
+
+2 # Number of statements
+
+1
+3 6
+#  i  j  m  n  1
+1  1  0  0  0 -1 # i >= 1
+1  0 -1  1  0  0 # j <= m
+1 -1  1  0  0  1 # j >= i-1
+0  0  0
+
+1
+4 6
+#  i  j  m  n  1
+1  1  0  0  0 -2 # i >= 2
+1 -1  0  0  1  0 # i <= n
+1  0  1  0  0  0 # j >= 0
+1  0 -1  0  1  0 # j <= n
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/lu.c.polylib b/test/lu.c.polylib
new file mode 100644 (file)
index 0000000..a1f7437
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated by CLooG v0.10.7 */
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    S1(i = 1) ;
+  }
+}
+for (c1=2;c1<=n-1;c1++) {
+  for (c2=2;c2<=n-1;c2++) {
+    for (i=1;i<=min(c2-1,c1-1);i++) {
+      S2(j = c2,k = c1) ;
+    }
+  }
+  for (i=1;i<=c1-1;i++) {
+    S2(j = n,k = c1) ;
+  }
+  for (j=c1+1;j<=n;j++) {
+    S1(i = c1) ;
+  }
+}
+if (n >= 2) {
+  for (c2=2;c2<=n;c2++) {
+    for (i=1;i<=c2-1;i++) {
+      S2(j = c2,k = n) ;
+    }
+  }
+}
diff --git a/test/lu.c.ppl b/test/lu.c.ppl
new file mode 100644 (file)
index 0000000..7334c2b
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated from ./lu.cloog by CLooG 0.15 64 bits in 0.02s. */
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    S1(i = 1) ;
+  }
+}
+for (c1=2;c1<=n-1;c1++) {
+  for (c2=2;c2<=n-1;c2++) {
+    for (i=1;i<=min(c1-1,c2-1);i++) {
+      S2(j = c2,k = c1) ;
+    }
+  }
+  for (i=1;i<=c1-1;i++) {
+    S2(j = n,k = c1) ;
+  }
+  for (j=c1+1;j<=n;j++) {
+    S1(i = c1) ;
+  }
+}
+if (n >= 2) {
+  for (c2=2;c2<=n;c2++) {
+    for (i=1;i<=c2-1;i++) {
+      S2(j = c2,k = n) ;
+    }
+  }
+}
diff --git a/test/lu.cloog b/test/lu.cloog
new file mode 100644 (file)
index 0000000..7753006
--- /dev/null
@@ -0,0 +1,47 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+1
+n
+
+2 # Number of statements
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+
+1
+# {i, j, k | 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+0
+
+2 # Scattering functions
+# Et les instructions de chunking...
+2 7
+# c1 c2  i  j  n  1
+0  1  0 -1  0  0  0
+0  0  1  0  0 -1  0
+
+2 8
+# c1 c2  i  j  k  n  1
+0  1  0  0  0 -1  0  0
+0  0  1  0 -1  0  0  0
+0
diff --git a/test/lu2.c.polylib b/test/lu2.c.polylib
new file mode 100644 (file)
index 0000000..f1a227a
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated by CLooG v0.10.7 */
+if (n >= 2) {
+  for (l=2;l<=n;l++) {
+    S1(i = 1,j = n,k = 1) ;
+  }
+}
+for (i=2;i<=n-1;i++) {
+  for (j=2;j<=n-1;j++) {
+    for (k=1;k<=min(j-1,i-1);k++) {
+      S2(l = j,m = i) ;
+    }
+  }
+  for (k=1;k<=i-1;k++) {
+    S2(j = n,l = n,m = i) ;
+  }
+  for (l=i+1;l<=n;l++) {
+    S1(j = n,k = i) ;
+  }
+}
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    for (k=1;k<=j-1;k++) {
+      S2(i = n,l = j,m = n) ;
+    }
+  }
+}
diff --git a/test/lu2.c.ppl b/test/lu2.c.ppl
new file mode 100644 (file)
index 0000000..3f93115
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated from ./lu2.cloog by CLooG 0.15 64 bits in 0.02s. */
+if (n >= 2) {
+  for (l=2;l<=n;l++) {
+    S1(i = 1,j = n,k = 1) ;
+  }
+}
+for (i=2;i<=n-1;i++) {
+  for (j=2;j<=n-1;j++) {
+    for (k=1;k<=min(i-1,j-1);k++) {
+      S2(l = j,m = i) ;
+    }
+  }
+  for (k=1;k<=i-1;k++) {
+    S2(j = n,l = n,m = i) ;
+  }
+  for (l=i+1;l<=n;l++) {
+    S1(j = n,k = i) ;
+  }
+}
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    for (k=1;k<=j-1;k++) {
+      S2(i = n,l = j,m = n) ;
+    }
+  }
+}
diff --git a/test/lu2.cloog b/test/lu2.cloog
new file mode 100644 (file)
index 0000000..5775e49
--- /dev/null
@@ -0,0 +1,37 @@
+# language: C
+c
+
+# parameter n
+1 3
+1 0 1
+1
+n
+
+2 # Number of statements
+
+1
+# {c1, c2, i, j | c1=i, c2=n, 1<=i<=n; i+1<=j<=n}
+6 7
+0  1  0 -1  0  0  0
+0  0  1  0  0 -1  0
+1  0  0  1  0  0 -1
+1  0  0 -1  0  1  0
+1  0  0 -1  1  0 -1
+1  0  0  0 -1  1  0
+0  0  0
+
+1
+# {c1, c2, i, j, k | c1=k, c2=j, 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+8 8
+0  1  0  0  0 -1  0  0
+0  0  1  0 -1  0  0  0
+1  0  0  1  0  0  0 -1
+1  0  0 -1  0  0  1  0
+1  0  0 -1  1  0  0 -1
+1  0  0  0 -1  0  1  0
+1  0  0 -1  0  1  0 -1
+1  0  0  0  0 -1  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/lub.c.polylib b/test/lub.c.polylib
new file mode 100644 (file)
index 0000000..fe60103
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=M-1;i++) {
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+    for (k=i+1;k<=M;k++) {
+      S2 ;
+      S3 ;
+    }
+    S4 ;
+  }
+}
diff --git a/test/lub.c.ppl b/test/lub.c.ppl
new file mode 100644 (file)
index 0000000..751a37d
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ./lub.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=1;i<=M-1;i++) {
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+    for (k=i+1;k<=M;k++) {
+      S2 ;
+      S3 ;
+    }
+    S4 ;
+  }
+}
diff --git a/test/lub.cloog b/test/lub.cloog
new file mode 100644 (file)
index 0000000..fcab9b5
--- /dev/null
@@ -0,0 +1,58 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+0
+
+4 # Number of statements
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+1
+# {i, j, k | 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+
+1
+# {i, j, k | 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+
+1
+# {i, j | 1<=i<=n; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+0
+0 # Scattering functions
+
diff --git a/test/lux.c.polylib b/test/lux.c.polylib
new file mode 100644 (file)
index 0000000..3501d30
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated by CLooG v0.10.7 */
+if (M >= 2) {
+  for (l=2;l<=M;l++) {
+    S1(i = 1,j = 1,k = M) ;
+  }
+}
+for (i=2;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    for (k=j+1;k<=M;k++) {
+      S2(l = k,m = i) ;
+    }
+  }
+  for (l=i+1;l<=M;l++) {
+    S1(j = i,k = M) ;
+  }
+}
+if (M >= 2) {
+  for (j=1;j<=M-1;j++) {
+    for (k=j+1;k<=M;k++) {
+      S2(i = M,l = k,m = M) ;
+    }
+  }
+}
diff --git a/test/lux.c.ppl b/test/lux.c.ppl
new file mode 100644 (file)
index 0000000..acc5ca5
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated from ./lux.cloog by CLooG 0.15 64 bits in 0.02s. */
+if (M >= 2) {
+  for (l=2;l<=M;l++) {
+    S1(i = 1,j = 1,k = M) ;
+  }
+}
+for (i=2;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    for (k=j+1;k<=M;k++) {
+      S2(l = k,m = i) ;
+    }
+  }
+  for (l=i+1;l<=M;l++) {
+    S1(j = i,k = M) ;
+  }
+}
+if (M >= 2) {
+  for (j=1;j<=M-1;j++) {
+    for (k=j+1;k<=M;k++) {
+      S2(i = M,l = k,m = M) ;
+    }
+  }
+}
diff --git a/test/lux.cloog b/test/lux.cloog
new file mode 100644 (file)
index 0000000..1687e32
--- /dev/null
@@ -0,0 +1,36 @@
+# language: C
+c
+
+# parameter n
+1 3
+1 0 1
+0
+
+2 # Number of statements
+
+1
+# {c1, c2, i, j | c1=i, c2=n, 1<=i<=n; i+1<=j<=n}
+6 7
+0  1 -1  0  0  0  0
+0  0  0  1  0 -1  0
+1  0  1  0  0  0 -1
+1  0 -1  0  0  1  0
+1  0 -1  0  1  0 -1
+1  0  0  0 -1  1  0
+0  0  0
+1
+# {c1, c2, i, j, k | c1=k, c2=j, 1<=i<=n; i+1<=j<=n i+1<=k<=n}
+8 8
+0  1  0  0  0 -1  0  0
+0  0  0 -1  1  0  0  0
+1  0  1  0  0  0  0 -1
+1  0 -1  0  0  0  1  0
+1  0 -1  1  0  0  0 -1
+1  0  0 -1  0  0  1  0
+1  0 -1  0  0  1  0 -1
+1  0  0  0  0 -1  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/manual_basic.cloog b/test/manual_basic.cloog
new file mode 100644 (file)
index 0000000..443a8f3
--- /dev/null
@@ -0,0 +1,31 @@
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+1 # Context (constraints on two parameters)
+2 4                   # 2 lines and 4 columns
+# eq/in m  n  1
+    1   1  0 -2       # 1*m + 0*n -2*1 >= 0, i.e. m>=2
+    1   0  1 -2       # 0*m + 1*n -2*1 >= 0, i.e. n>=2
+
+1 # We want to set manually the parameter names
+m n                   # parameter names
+
+# --------------------- STATEMENTS --------------------
+1 # Number of statements
+
+1 # First statement: one domain
+# First domain
+5 6                   # 5 lines and 6 columns
+# eq/in i  j  m  n  1 
+    1   1  0  0  0 -2 # i >= 2
+    1  -1  0  0  1  0 # i <= n
+    1   0  1  0  0 -2 # j >= 2
+    1   0 -1  1  0  0 # j <= m
+    1  -1 -1  0  1  2 # n+2-i>=j
+0  0  0               # for future options
+
+1 # We want to set manually the iterator names
+i j                   # iterator names
+
+# --------------------- SCATTERING --------------------
+0 # No scattering functions
diff --git a/test/manual_gauss.cloog b/test/manual_gauss.cloog
new file mode 100644 (file)
index 0000000..2223366
--- /dev/null
@@ -0,0 +1,64 @@
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+# Context (no constraints on one parameter)
+1 3                     # 1 line and 3 columns    
+# eq/in n  1
+    1   0  0            # 0 >= 0, always true
+
+1 # We want to set manually the parameter name
+n                       # parameter name
+
+# --------------------- STATEMENTS --------------------
+2 # Number of statements
+
+1 # First statement: one domain
+4 5                     # 4 lines and 3 columns
+# eq/in i  j  n  1
+    1   1  0  0 -1      # i >= 1
+    1  -1  0  1 -1      # i <= n-1
+    1  -1  1  0 -1      # j >= i+1
+    1   0 -1  1  0      # j <= n
+0  0  0                 # for future options
+1
+# Second statement: one domain
+6 6                     # 6 lines and 3 columns
+# eq/in i  j  k  n  1
+    1   1  0  0  0 -1   # i >= 1
+    1  -1  0  0  1 -1   # i <= n-1
+    1  -1  1  0  0 -1   # j >= i+1
+    1   0 -1  0  1  0   # j <= n
+    1  -1  0  1  0 -1   # k >= i+1
+    1   0  0 -1  1  0   # k <= n
+0  0  0                 # for future options
+
+0 # We let CLooG set the iterator names
+
+# --------------------- SCATTERING --------------------
+2 # Scattering functions
+# First function
+8 13                    # 3 lines and 3 columns
+# eq/in p1 p2 p3 p4 p5 p6 p7 p8  i  j  n  1
+    0    1  0  0  0  0  0  0  0 -1  0  0  0     # p1 = i
+    0    0  1  0  0  0  0  0  0  0  0  0  0     # p2 = 0
+    0    0  0  1  0  0  0  0  0 -1  0  0  0     # p3 = i
+    0    0  0  0  1  0  0  0  0  0  0  0  0     # p4 = 0
+    0    0  0  0  0  1  0  0  0  0 -1  0  0     # p5 = j
+    0    0  0  0  0  0  1  0  0  0  0  0  0     # p6 = 0
+    0    0  0  0  0  0  0  1  0  0  0  0  0     # p7 = 0
+    0    0  0  0  0  0  0  0  1  0  0  0  0     # p8 = 0
+# Second function
+8 14                    # 3 lines and 3 columns
+# eq/in p1 p2 p3 p4 p5 p6 p7 p8  i  j  k  n  1
+    0    1  0  0  0  0  0  0  0  0  0 -1  0  0  # p1 = k
+    0    0  1  0  0  0  0  0  0  0  0  0  0  0  # p2 = 0
+    0    0  0  1  0  0  0  0  0 -1  0  0  0  0  # p3 = i
+    0    0  0  0  1  0  0  0  0  0  0  0  0  0  # p4 = 0
+    0    0  0  0  0  1  0  0  0  0 -1  0  0  0  # p5 = j
+    0    0  0  0  0  0  1  0  0  0  0  0  0 -1  # p6 = 1
+    0    0  0  0  0  0  0  1  0  0  0 -1  0  0  # p7 = k
+    0    0  0  0  0  0  0  0  1  0  0  0  0  0  # p8 = 0
+
+1 # We want to set manually the scattering dimension names
+p1 p2 p3 p4 p5 p6 p7 p8 # scattering dimension names
diff --git a/test/manual_scattering.cloog b/test/manual_scattering.cloog
new file mode 100644 (file)
index 0000000..a4b831a
--- /dev/null
@@ -0,0 +1,56 @@
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+# Context (no constraints on two parameters)
+1 4                   # 1 lines and 4 columns
+# eq/in m  n  1
+    1   0  0  0       # 0 >= 0, always true
+
+1 # We want to set manually the parameter names
+m n                   # parameter names
+
+# --------------------- STATEMENTS --------------------
+2 # Number of statements
+
+2 # First statement: two domains
+# First domain
+3 5                   # 3 lines and 5 columns
+# eq/in i  m  n  1
+    1   1  0  0 -1    # i >= 1
+    1  -1  0  1  0    # i <= n
+    1   1 -1  0  0    # i >= m
+# Second domain
+3 5                   # 3 lines and 5 columns
+# eq/in i  m  n  1 
+    1   1  0  0 -1    # i >= 1
+    1  -1  0  1  0    # i <= n
+    1  -1  2  0  0    # i <= 2*m
+0  0  0               # for future options
+1 # Second statement: one domain
+4 6                   # 4 lines and 6 columns
+# eq/in i  j  m  n  1 
+    1   1  0  0  0 -1 # i >= 1
+    1  -1  0  0  1  0 # i <= n
+    1  -1  1  0  0 -1 # j >= i+1
+    1   0 -1  1  0  0 # j <= m
+0  0  0               # for future options
+
+1 # We want to set manually the iterator names
+i j                   # iterator names
+
+# --------------------- SCATTERING --------------------
+2 # Scattering functions
+# First function
+2 7                   # 2 lines and 7 columns
+# eq/in p1 p2  i  m  n  1 
+    0    1  0 -1  0  0  0    # p1 = i
+    0    0  1  0  0  0  0    # p2 = 0
+# Second function
+2 8                   # 2 lines and 8 columns
+# eq/in p1 p2  i  j  m  n  1 
+    0    1  0  0  0  0 -1  0 # p1 = n
+    0    0  1 -1 -1  0  0  0 # p2 = i+j
+
+1 # We want to set manually the scattering dimension names
+p1 p2                 # scattering dimension names
diff --git a/test/merge.c.polylib b/test/merge.c.polylib
new file mode 100644 (file)
index 0000000..f0b117d
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from test/merge.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 64 KBytes. */
+for (c1=0;c1<=10;c1++) {
+  if (c1 == 0) {
+    S1(i = 0) ;
+  }
+  if (c1 >= 2) {
+    S2(i = c1) ;
+  }
+  S3(i = c1) ;
+}
diff --git a/test/merge.c.ppl b/test/merge.c.ppl
new file mode 100644 (file)
index 0000000..06a3770
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./merge.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c1=0;c1<=10;c1++) {
+  if (c1 == 0) {
+    S1(i = 0) ;
+  }
+  if (c1 >= 2) {
+    S2(i = c1) ;
+  }
+  S3(i = c1) ;
+}
diff --git a/test/merge.cloog b/test/merge.cloog
new file mode 100644 (file)
index 0000000..d98c1d0
--- /dev/null
@@ -0,0 +1,42 @@
+c
+
+0 2
+
+0
+
+3
+
+1
+1 3
+0 -1 0
+0 0 0
+
+1
+2 3
+1 1 -2
+1 -1 10
+0 0 0
+
+1
+2 3
+1 1 0
+1 -1 10
+0 0 0
+
+0
+
+3
+
+2 5
+0 1 0 -1 0
+0 0 1  0 0
+
+2 5
+0 1 0 -1 0
+0 0 1  0 -1
+
+2 5
+0 1 0 -1 0
+0 0 1  0 -2
+
+0
diff --git a/test/min-1-1.c.polylib b/test/min-1-1.c.polylib
new file mode 100644 (file)
index 0000000..a7de99f
--- /dev/null
@@ -0,0 +1,8 @@
+/* Generated by CLooG v0.10.7 */
+if (M >= 0) {
+  for (i=1;i<=N;i++) {
+    for (j=0;j<=min(min(i,-i+N),M);j++) {
+      S1 ;
+    }
+  }
+}
diff --git a/test/min-1-1.c.ppl b/test/min-1-1.c.ppl
new file mode 100644 (file)
index 0000000..ebc81b1
--- /dev/null
@@ -0,0 +1,8 @@
+/* Generated from ./min-1-1.cloog by CLooG 0.15 64 bits in 0.00s. */
+if (M >= 0) {
+  for (i=1;i<=N;i++) {
+    for (j=0;j<=min(min(i,-i+N),M);j++) {
+      S1 ;
+    }
+  }
+}
diff --git a/test/min-1-1.cloog b/test/min-1-1.cloog
new file mode 100644 (file)
index 0000000..a15cdbd
--- /dev/null
@@ -0,0 +1,27 @@
+# language: C
+c
+
+# Context
+# {M,N | 1>=0}
+1   4
+# M N 1
+1 0 0 1
+0
+
+1 # Number of statements
+
+1
+# {i,j |1<=i<=N; 0<=j<=M; j<=i; j+i<=N}, i.e.
+# {i,j | (1,j)<=i<=-j+N; 0<=j<=M}
+6   6
+#  i  j  M  N  1
+1  1  0  0  0  -1
+1  0  1  0  0  0
+1  0  -1 1  0  0
+1  1  -1 0  0  0
+1  -1 -1 0  1  0
+1  0  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/min-2-1.c.polylib b/test/min-2-1.c.polylib
new file mode 100644 (file)
index 0000000..55088a6
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated by CLooG v0.10.7 */
+if (M >= 0) {
+  for (i=1;i<=N;i++) {
+    for (j=0;j<=min(min(i,M),-i+N);j++) {
+      for (k=0;k<=min(min(M,i),-i+N);k++) {
+        S1 ;
+      }
+    }
+  }
+}
diff --git a/test/min-2-1.c.ppl b/test/min-2-1.c.ppl
new file mode 100644 (file)
index 0000000..1e79724
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./min-2-1.cloog by CLooG 0.15 64 bits in 0.01s. */
+if (M >= 0) {
+  for (i=1;i<=N;i++) {
+    for (j=0;j<=min(min(i,-i+N),M);j++) {
+      for (k=0;k<=min(min(i,-i+N),M);k++) {
+        S1 ;
+      }
+    }
+  }
+}
diff --git a/test/min-2-1.cloog b/test/min-2-1.cloog
new file mode 100644 (file)
index 0000000..0c1ed37
--- /dev/null
@@ -0,0 +1,31 @@
+# language: C
+c
+
+# Context
+# {M,N | 1>=0}
+1   4
+# M N 1
+1 0 0 1
+0
+
+1 # Number of statements
+
+1
+# {i,j |1<=i<=N; 0<=j<=M; j<=i; j+i<=N}, i.e.
+# {i,j | (1,j)<=i<=-j+N; 0<=j<=M}
+10   7
+#  i  j  k M  N  1
+1  1  0  0 0  0  -1
+1  0  1  0 0  0  0
+1  0  -1 0 1  0  0
+1  1  -1 0 0  0  0
+1  -1 -1 0 0  1  0
+1  0  0  1 0  0  0
+1  0  0 -1 1  0  0
+1  1  0 -1 0  0  0
+1  -1 0 -1 0  1  0
+1  0  0 0  0  0  1
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/min-3-1.c.polylib b/test/min-3-1.c.polylib
new file mode 100644 (file)
index 0000000..45b78f5
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=min(10,M);i++) {
+  for (j=0;j<=min(10,M);j++) {
+    S1 ;
+  }
+}
diff --git a/test/min-3-1.c.ppl b/test/min-3-1.c.ppl
new file mode 100644 (file)
index 0000000..d237c6a
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from ./min-3-1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=min(M,10);i++) {
+  for (j=0;j<=min(M,10);j++) {
+    S1 ;
+  }
+}
diff --git a/test/min-3-1.cloog b/test/min-3-1.cloog
new file mode 100644 (file)
index 0000000..f1a3c12
--- /dev/null
@@ -0,0 +1,27 @@
+# language: C
+c
+
+# Context
+2 3
+#  M  1
+1  1  0
+1  0  1
+0 
+
+1 # Number of statements
+
+1
+#
+7 5
+#  i  j  M  1
+1  1  0  0  0
+1 -1  0  1  0
+1 -1  0  0 10
+1  0  1  0  0
+1  0 -1  1  0
+1  0 -1  0 10
+1  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/min-4-1.c.polylib b/test/min-4-1.c.polylib
new file mode 100644 (file)
index 0000000..6a80aae
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.10.7 */
+for (i=max(-M,-N);i<=min(O,N);i++) {
+  S1 ;
+}
diff --git a/test/min-4-1.c.ppl b/test/min-4-1.c.ppl
new file mode 100644 (file)
index 0000000..f5bace8
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./min-4-1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=max(-M,-N);i<=min(N,O);i++) {
+  S1 ;
+}
diff --git a/test/min-4-1.cloog b/test/min-4-1.cloog
new file mode 100644 (file)
index 0000000..5cce62f
--- /dev/null
@@ -0,0 +1,25 @@
+# language: C
+c
+
+# Context
+# {L,M,N|}
+1 5
+#  L  M  N  1
+1  0  0  0  1
+0
+
+1 # Number of statements
+
+1
+# {i|-L,-M <= i <= M, N} 
+5  6
+#  i  L  M  N  1
+1  1  1  0  0  0
+1  1  0  1  0  0
+1 -1  0  1  0  0
+1 -1  0  0  1  0
+1  0  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/mode.c.polylib b/test/mode.c.polylib
new file mode 100644 (file)
index 0000000..14bd6bf
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+for (i=0;i<=min(M,N-1);i++) {
+  for (j=0;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=N;j++) {
+    S2 ;
+  }
+}
+if ((M >= N) && (N >= 0)) {
+  for (j=0;j<=N;j++) {
+    S1(i = N) ;
+    S2(i = N) ;
+  }
+}
+if (N >= 0) {
+  for (i=N+1;i<=M;i++) {
+    for (j=0;j<=N;j++) {
+      S1 ;
+      S2 ;
+    }
+    for (j=N+1;j<=i;j++) {
+      S1 ;
+    }
+  }
+}
+if (N <= -1) {
+  for (i=0;i<=M;i++) {
+    for (j=0;j<=i;j++) {
+      S1 ;
+    }
+  }
+}
diff --git a/test/mode.c.ppl b/test/mode.c.ppl
new file mode 100644 (file)
index 0000000..81465ab
--- /dev/null
@@ -0,0 +1,34 @@
+/* Generated from ./mode.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=0;i<=min(M,N-1);i++) {
+  for (j=0;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=N;j++) {
+    S2 ;
+  }
+}
+if ((M >= N) && (N >= 0)) {
+  for (j=0;j<=N;j++) {
+    S1(i = N) ;
+    S2(i = N) ;
+  }
+}
+if (N >= 0) {
+  for (i=N+1;i<=M;i++) {
+    for (j=0;j<=N;j++) {
+      S1 ;
+      S2 ;
+    }
+    for (j=N+1;j<=i;j++) {
+      S1 ;
+    }
+  }
+}
+if (N <= -1) {
+  for (i=0;i<=M;i++) {
+    for (j=0;j<=i;j++) {
+      S1 ;
+    }
+  }
+}
diff --git a/test/mode.cloog b/test/mode.cloog
new file mode 100644 (file)
index 0000000..caeecb8
--- /dev/null
@@ -0,0 +1,33 @@
+# language: C
+c
+
+# parameters n m
+1 4
+#  n  m  1
+1  0  0  1
+0
+
+2 # Number of statements
+
+1
+# S2 {i, j | 0<=i<=n; 0<=j<=i}
+4 6
+#  i  j  n  m  1
+1  1  0  0  0  0
+1 -1  0  1  0  0
+1  0  1  0  0  0
+1  1 -1  0  0  0
+0  0  0
+
+1
+# S2 {i, j | 0<=i<=n; 0<=j<=m}
+4 6
+#  i  j  n  m  1
+1  1  0  0  0  0
+1 -1  0  1  0  0
+1  0  1  0  0  0
+1  0 -1  0  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/multi-mm-1.c.polylib b/test/multi-mm-1.c.polylib
new file mode 100644 (file)
index 0000000..c42bf98
--- /dev/null
@@ -0,0 +1,16 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=N;i++) {
+  for (j=0;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  for (j=0;j<=N;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=N+1;j<=i;j++) {
+    S1 ;
+  }
+}
diff --git a/test/multi-mm-1.c.ppl b/test/multi-mm-1.c.ppl
new file mode 100644 (file)
index 0000000..3079109
--- /dev/null
@@ -0,0 +1,16 @@
+/* Generated from ./multi-mm-1.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=0;i<=N;i++) {
+  for (j=0;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+}
+for (i=N+1;i<=M;i++) {
+  for (j=0;j<=N;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=N+1;j<=i;j++) {
+    S1 ;
+  }
+}
diff --git a/test/multi-mm-1.cloog b/test/multi-mm-1.cloog
new file mode 100644 (file)
index 0000000..58f4ce8
--- /dev/null
@@ -0,0 +1,37 @@
+# language: C
+c
+
+# Context
+#{M,N|M>N}
+3  4
+#  M  N  1
+1  1 -1  0
+1  0  1 -1
+1  0  0  1
+0
+
+2 # Number of statements
+
+1
+#
+4  6
+#  i  j  M  N  1
+1  0  1  0  0  0
+1  1 -1  0  0  0
+1 -1  0  1  0  0
+1  0  0  0  0  1
+0  0  0
+
+1
+#
+5  6
+#  i  j  M  N  1
+1  0  1  0  0  0
+1  1 -1  0  0  0
+1 -1  0  1  0  0
+1  0 -1  0  1  0
+1  0  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/multi-stride.c.polylib b/test/multi-stride.c.polylib
new file mode 100644 (file)
index 0000000..687d2fb
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from test/multi-stride.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 60 KBytes. */
+for (i=0;i<=100;i++) {
+  if ((i+1)%2 == 0) {
+    j = (i-1)/2 ;
+    if ((i+4)%6 == 0) {
+      k = (i-2)/6 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/multi-stride.c.ppl b/test/multi-stride.c.ppl
new file mode 100644 (file)
index 0000000..519828a
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./multi-stride.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=100;i++) {
+  if ((i+1)%2 == 0) {
+    j = (i-1)/2 ;
+    if ((i+4)%6 == 0) {
+      k = (i-2)/6 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/multi-stride.cloog b/test/multi-stride.cloog
new file mode 100644 (file)
index 0000000..8f858da
--- /dev/null
@@ -0,0 +1,28 @@
+# Language
+c
+
+# Context
+
+   1 2
+   1  1
+0
+
+# Number of statements
+1
+
+1
+
+#        i'   i    j    1
+   4 5
+   0    1   -2    0   -1
+   0    1    0   -6   -2
+   1    1    0    0    0
+   1   -1    0    0  100
+
+0 0 0
+
+0
+0
+
+
+
diff --git a/test/multi-stride2.c.polylib b/test/multi-stride2.c.polylib
new file mode 100644 (file)
index 0000000..6d0f634
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from test/multi-stride2.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 60 KBytes. */
+for (i=5;i<=100;i+=6) {
+  j = (i-1)/2 ;
+  k = (i-2)/3 ;
+  S1 ;
+}
diff --git a/test/multi-stride2.c.ppl b/test/multi-stride2.c.ppl
new file mode 100644 (file)
index 0000000..aed7b56
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from ./multi-stride2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=5;i<=100;i+=6) {
+  j = (i-1)/2 ;
+  k = (i-2)/3 ;
+  S1 ;
+}
diff --git a/test/multi-stride2.cloog b/test/multi-stride2.cloog
new file mode 100644 (file)
index 0000000..db1afd4
--- /dev/null
@@ -0,0 +1,28 @@
+# Language
+c
+
+# Context
+
+   1 2
+   1  1
+0
+
+# Number of statements
+1
+
+1
+
+#        i'   i    j    1
+   4 5
+   0    1   -2    0   -1
+   0    1    0   -3   -2
+   1    1    0    0    0
+   1   -1    0    0  100
+
+0 0 0
+
+0
+0
+
+
+
diff --git a/test/no_lindep.c.polylib b/test/no_lindep.c.polylib
new file mode 100644 (file)
index 0000000..1cddc43
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+c1 = M+1 ;
+i = N+2 ;
+S1 ;
diff --git a/test/no_lindep.c.ppl b/test/no_lindep.c.ppl
new file mode 100644 (file)
index 0000000..ef792fd
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./no_lindep.cloog by CLooG 0.15 64 bits in 0.00s. */
+c1 = M+1 ;
+i = N+2 ;
+S1 ;
diff --git a/test/no_lindep.cloog b/test/no_lindep.cloog
new file mode 100644 (file)
index 0000000..296ee55
--- /dev/null
@@ -0,0 +1,35 @@
+# language C
+c
+
+# 2 parameters
+1
+1 4
+1 0 0 0 
+
+0
+
+# 1 statement
+1
+
+# 1 domain
+# i=n+2
+1
+1 5
+0 -1  0  1  2
+
+0 0 0 
+
+0
+
+# 1 scattering function
+# c1=M+1
+# c2=N
+1
+2  7
+0 -1  0  0  1  0  1
+0  0 -1  0  0  1  0
+
+0
+
+
+
diff --git a/test/non_optimal/deuxpts.cloog b/test/non_optimal/deuxpts.cloog
new file mode 100644 (file)
index 0000000..4997940
--- /dev/null
@@ -0,0 +1,35 @@
+
+
+#----------------------SCoP NO. 49
+
+#-------------------CONTEXT------------------------
+   c # language is c
+   1 # Context (no constarints on parameters)
+   1 3         # 1 lines and 10 coloumns
+   # NUM1    1
+   0    0    0 
+
+   0
+
+#---------------------STATEMENTS--------------------
+  2 #Number of Statements
+
+   1 #STMT 1 at line no. 2063 has 1 domain
+   # Domain 1
+   1 3
+   # NUM1    1 
+   0    0    0 
+   0    0    0 
+
+   1 #STMT 7 at line no. 2075 has 1 domain
+   # Domain 1
+   1 3
+   # NUM1    1 
+   0    0    0 
+   0    0    0 
+
+   0
+
+#---------------------SCATTERING FUNCTIONS--------------------
+  0 #Scattering functions
+
diff --git a/test/non_optimal/dreamupT1.cloog b/test/non_optimal/dreamupT1.cloog
new file mode 100644 (file)
index 0000000..32747ff
--- /dev/null
@@ -0,0 +1,32 @@
+# language: C\r
+c\r
+\r
+# parameter: none \r
+1 2\r
+#  1\r
+1  0   # 0 >= 0\r
+\r
+0\r
+\r
+1 # Number of statements\r
+\r
+1 # One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c1   c2    1\r
+1   1    0    0                # c1 >= 0\r
+1  -1    0   31                # c1 <= 31\r
+1   0    1    0                # c2 >= 0\r
+1   0   -1  511                # c2 <= 511\r
+0   0    0             # for future options\r
+\r
+1 # set manually the iterator names\r
+c1 c2\r
+\r
+1 # Scattering functions\r
+\r
+1 5\r
+#   d    c1   c2   1\r
+0   1  -1536  -3   0   # d = 1536*c1 + 3*c2\r
+\r
+1 # set manually the scattering dimension names\r
+d\r
diff --git a/test/non_optimal/dreamupT3-delta-gamma.cloog b/test/non_optimal/dreamupT3-delta-gamma.cloog
new file mode 100644 (file)
index 0000000..1e14ab0
--- /dev/null
@@ -0,0 +1,58 @@
+# language: C\r
+c\r
+\r
+# parameter: none \r
+1 2\r
+#  1\r
+1  0   # 0 >= 0\r
+\r
+0\r
+\r
+3 # Number of statements\r
+\r
+1 # S1 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c1   c2    1\r
+1   1    0    0                # c1 >= 0\r
+1  -1    0   31                # c1 <= 31\r
+1   0    1    0                # c2 >= 0\r
+1   0   -1  511                # c2 <= 511\r
+0   0    0             # for future options\r
+\r
+1 # S2 : One domain\r
+2 3 # 2 lines and 3 columns\r
+#  c3    1\r
+1   1    0             # c3 >= 0\r
+1  -1  127             # c3 <= 127\r
+0   0    0             # for future options\r
+\r
+1 # S3 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c4   c5    1\r
+1   1    0    0                # c4 >= 0\r
+1  -1    0  126                # c4 <= 126\r
+1   0    1    0                # c5 >= 0\r
+1   0   -1  127                # c5 <= 127\r
+0   0    0             # for future options\r
+\r
+\r
+1 # set manually the iterator names\r
+c1 c2 c3 c4 c5\r
+\r
+3 # Scattering functions\r
+\r
+1 5\r
+#   d   c1   c2   1\r
+0    1 -512  -1   0    # d = 512*c1 + 1*c2\r
+\r
+1 4\r
+#   d   c3      1\r
+0    1 -128   -511     # d = 128*c3 + 511\r
+\r
+1 5\r
+#   d   c4   c5      1\r
+0   1   -128  -1   -639        # d = 128*c4 + c5 + 639\r
+\r
+\r
+1 # set manually the scattering dimension names\r
+d\r
diff --git a/test/non_optimal/dreamupT3.cloog b/test/non_optimal/dreamupT3.cloog
new file mode 100644 (file)
index 0000000..0c923bd
--- /dev/null
@@ -0,0 +1,58 @@
+# language: C\r
+c\r
+\r
+# parameter: none \r
+1 2\r
+#  1\r
+1  0   # 0 >= 0\r
+\r
+0\r
+\r
+3 # Number of statements\r
+\r
+1 # S1 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c1   c2    1\r
+1   1    0    0                # c1 >= 0\r
+1  -1    0   31                # c1 <= 31\r
+1   0    1    0                # c2 >= 0\r
+1   0   -1  511                # c2 <= 511\r
+0   0    0             # for future options\r
+\r
+1 # S2 : One domain\r
+2 3 # 2 lines and 3 columns\r
+#  c3    1\r
+1   1    0             # c3 >= 0\r
+1  -1  127             # c3 <= 127\r
+0   0    0             # for future options\r
+\r
+1 # S3 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c4   c5    1\r
+1   1    0    0                # c4 >= 0\r
+1  -1    0  126                # c4 <= 126\r
+1   0    1    0                # c5 >= 0\r
+1   0   -1  127                # c5 <= 127\r
+0   0    0             # for future options\r
+\r
+\r
+1 # set manually the iterator names\r
+c1 c2 c3 c4 c5\r
+\r
+3 # Scattering functions\r
+\r
+1 5\r
+#   d   c1   c2   1\r
+0    1 -1536  -3   0   # d = 1536*c1 + 3*c2\r
+\r
+1 4\r
+#   d   c3      1\r
+0    1 -384   -1534    # d = 384*c3 + 1534\r
+\r
+1 5\r
+#   d   c4   c5      1\r
+0   1   -384  -3   -1919       # d = 384*c4 + 3*c5 + 1919\r
+\r
+\r
+1 # set manually the scattering dimension names\r
+d\r
diff --git a/test/non_optimal/dreamupT3.omega b/test/non_optimal/dreamupT3.omega
new file mode 100644 (file)
index 0000000..9046c09
--- /dev/null
@@ -0,0 +1,17 @@
+# CLooG -> OMEGA
+# This is an automatic dump of an input file from a CloogProgram data
+# structure. It can be correct ONLY if dumped before loop generation.
+
+# Context (0 parameter(s)).
+# Iteration domains:
+IS10:={[c1,c2]: c1>=0 && -c1+31>=0 && c2>=0 && -c2+511>=0} ;
+IS20:={[c1]: c1>=0 && -c1+127>=0} ;
+IS30:={[c1,c2]: c1>=0 && -c1+126>=0 && c2>=0 && -c2+127>=0} ;
+
+# Schedules:
+T10:={[c1,c2] -> [1536c1+3c2,c1,c2]} ;
+T20:={[c1] -> [384c1+1534,c1,0]} ;
+T30:={[c1,c2] -> [384c1+3c2+1919,c1,c2]} ;
+
+# CodeGen call:
+codegen 3 T10:IS10, T20:IS20, T30:IS30 ;
diff --git a/test/non_optimal/interpolation-duration.cloog b/test/non_optimal/interpolation-duration.cloog
new file mode 100644 (file)
index 0000000..ed35b85
--- /dev/null
@@ -0,0 +1,74 @@
+#language : C
+c
+
+#parameter: none
+1 2
+# 1
+1 0   #0>=0
+
+0
+
+5 #number of statements
+
+1 #T0 : One domain
+4 4 # 4lines and 4 columns
+1  1  0 0  # c1 >= 0
+1 -1  0 0  # c1 <= 0
+1  0  1 0  #c2 >=0
+1  0 -1 12 #c2 <= 12
+0  0  0    #for future options
+
+1 #T1 : One domain
+4 4 # 4lines and 4 columns
+1  1  0 0  # c1 >= 0
+1 -1  0 7  # c1 <= 7
+1  0  1 0  #c2 >=0
+1  0 -1 0  #c2 <= 0
+0  0  0    #for future options
+
+1 #T2 : One domain
+4 4 # 4lines and 4 columns
+1  1  0 0  # c1 >= 0
+1 -1  0 3  # c1 <= 3
+1  0  1 0  #c2 >=0
+1  0 -1 0  #c2 <= 0
+0  0  0    #for future options
+
+1 #T3 : One domain
+4 4 # 4lines and 4 columns
+1  1  0 0  # c1 >= 0
+1 -1  0 3  # c1 <= 3
+1  0  1 0  #c2 >=0
+1  0 -1 0  #c2 <= 0
+0  0  0    #for future options
+
+1 #T4 : One domain
+4 4 # 4lines and 4 columns
+1  1  0 0  # c1 >= 0
+1 -1  0 3  # c1 <= 3
+1  0  1 0  #c2 >=0
+1  0 -1 0  #c2 <= 0
+0  0  0    #for future options
+
+1
+c1 c2 c3 c4 c5 c6 c7 c8 c9 c10
+
+5
+
+1 5
+0  1  -65 -5 0  #d = 65c1 + 5c2
+
+1 5
+0  1  -5  -5 -61 #d = 5c3 + 5c4 + 61
+
+1 5
+0  1  -10 -5 -67 #d = 10c5+5c6+67
+
+1 5
+0  1  -10 -5 -68 #d=10c7+5c8+68
+
+1 5
+0  1  -10  -5 -69 #d=10c9+5c10+69
+
+1
+d
diff --git a/test/non_optimal/nul_complex1.c.polylib b/test/non_optimal/nul_complex1.c.polylib
new file mode 100644 (file)
index 0000000..2034696
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ./non_optimal/nul_complex1.cloog by CLooG v0.14.0 gmp bits in 0.01s. */
+/* CLooG asked for 80 KBytes. */
+for (c1=0;c1<=5*n;c1++) {
+  for (c2=max(c1-n,ceild(2*c1,3));c2<=min(c1,floord(2*c1+2*n,3));c2++) {
+    if (c2%2 == 0) {
+      i = (-2*c1+3*c2)/2 ;
+      j = c1-c2 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/non_optimal/nul_complex1.c.ppl b/test/non_optimal/nul_complex1.c.ppl
new file mode 100644 (file)
index 0000000..d9ba6b2
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ././non_optimal/nul_complex1.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c1=0;c1<=5*n;c1++) {
+  for (c2=max(ceild(2*c1,3),c1-n);c2<=min(floord(2*c1+2*n,3),c1);c2++) {
+    if (c2%2 == 0) {
+      i = (-2*c1+3*c2)/2 ;
+      j = c1-c2 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/non_optimal/nul_complex1.cloog b/test/non_optimal/nul_complex1.cloog
new file mode 100644 (file)
index 0000000..4b4d45a
--- /dev/null
@@ -0,0 +1,37 @@
+# Optimal code is in fact :
+#
+# for (i=0;i<=M;i+=2) {
+#   S1 ;
+# }
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+1
+n
+
+1 # Number of statements
+
+1
+# {i | 0<=i<=n}
+4 5
+#  i  j  n  1
+1  1  0  0  0
+1 -1  0  1  0
+1  0  1  0  0
+1  0 -1  1  0
+0  0  0
+0
+
+1 # Scattering functions
+
+2 7
+# c1 c2  i  j  n  1
+0  1  0 -2 -3  0  0 
+0  0  1 -2 -2  0  0 
+
+0
diff --git a/test/non_optimal/usvd_e_t.c.polylib b/test/non_optimal/usvd_e_t.c.polylib
new file mode 100644 (file)
index 0000000..469a1f6
--- /dev/null
@@ -0,0 +1,389 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=2;i++) {
+  S1(j = 0,k = 0) ;
+  S2(j = 0,k = 0) ;
+  for (j=1;j<=4;j++) {
+    S2(k = 0) ;
+  }
+}
+S1(i = 3,j = 0,k = 0) ;
+S2(i = 3,j = 0,k = 0) ;
+for (j=1;j<=4;j++) {
+  S2(i = 3,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 3,k = 0) ;
+}
+S1(i = 4,j = 0,k = 0) ;
+S2(i = 4,j = 0,k = 0) ;
+S3(i = 4,j = 0,k = 0) ;
+S5(i = 4,j = 0,k = 0) ;
+for (j=1;j<=4;j++) {
+  S2(i = 4,k = 0) ;
+  S5(i = 4,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 4,k = 0) ;
+}
+S6(i = 5,j = -4,k = 0) ;
+S7(i = 5,j = -4,k = 0) ;
+for (j=-3;j<=-1;j++) {
+  S7(i = 5,k = 0) ;
+}
+S3(i = 5,j = 0,k = 0) ;
+S7(i = 5,j = 0,k = 0) ;
+S4(i = 5,j = 1,k = -1) ;
+S5(i = 5,j = 1,k = 0) ;
+for (j=2;j<=4;j++) {
+  S5(i = 5,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 5,k = 0) ;
+}
+S6(i = 6,j = -4,k = 0) ;
+S6(i = 6,j = -3,k = 0) ;
+S7(i = 6,j = -3,k = 0) ;
+for (j=-2;j<=-1;j++) {
+  S7(i = 6,k = 0) ;
+}
+S3(i = 6,j = 0,k = 0) ;
+S7(i = 6,j = 0,k = 0) ;
+S4(i = 6,j = 1,k = -1) ;
+S4(i = 6,j = 2,k = -1) ;
+S5(i = 6,j = 2,k = 0) ;
+for (j=3;j<=4;j++) {
+  S5(i = 6,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 6,k = 0) ;
+}
+for (j=-4;j<=-3;j++) {
+  S6(i = 7,k = 0) ;
+}
+S6(i = 7,j = -2,k = 0) ;
+S7(i = 7,j = -2,k = 0) ;
+S7(i = 7,j = -1,k = 0) ;
+S3(i = 7,j = 0,k = 0) ;
+S7(i = 7,j = 0,k = 0) ;
+for (j=1;j<=2;j++) {
+  S4(i = 7,k = -1) ;
+}
+S4(i = 7,j = 3,k = -1) ;
+S5(i = 7,j = 3,k = 0) ;
+S5(i = 7,j = 4,k = 0) ;
+S9(i = 7,j = 4,k = 0) ;
+S10(i = 7,j = 4,k = 0) ;
+S11(i = 7,j = 4,k = 0) ;
+S21(i = 7,j = 4,k = 0) ;
+S23(i = 7,j = 4,k = 0) ;
+S11(i = 7,j = 4,k = 1) ;
+S16(i = 7,j = 4,k = 1) ;
+S17(i = 7,j = 4,k = 1) ;
+for (k=2;k<=4;k++) {
+  S11(i = 7,j = 4) ;
+}
+S12(i = 7,j = 5,k = 0) ;
+S21(i = 7,j = 5,k = 0) ;
+S22(i = 7,j = 5,k = 0) ;
+S23(i = 7,j = 5,k = 0) ;
+S12(i = 7,j = 5,k = 1) ;
+S16(i = 7,j = 5,k = 1) ;
+S17(i = 7,j = 5,k = 1) ;
+for (k=2;k<=4;k++) {
+  S12(i = 7,j = 5) ;
+}
+S21(i = 7,j = 6,k = 0) ;
+S22(i = 7,j = 6,k = 0) ;
+S23(i = 7,j = 6,k = 0) ;
+for (j=7;j<=8;j++) {
+  S8(i = 7,k = 0) ;
+  S21(i = 7,k = 0) ;
+  S22(i = 7,k = 0) ;
+  S23(i = 7,k = 0) ;
+}
+S8(i = 7,j = 9,k = 0) ;
+S22(i = 7,j = 9,k = 0) ;
+for (j=10;j<=11;j++) {
+  S8(i = 7,k = 0) ;
+}
+for (j=-4;j<=-2;j++) {
+  S6(i = 8,k = 0) ;
+}
+S6(i = 8,j = -1,k = 0) ;
+S7(i = 8,j = -1,k = 0) ;
+S3(i = 8,j = 0,k = 0) ;
+S7(i = 8,j = 0,k = 0) ;
+S19(i = 8,j = 1,k = -2) ;
+S4(i = 8,j = 1,k = -1) ;
+S19(i = 8,j = 1,k = -1) ;
+S19(i = 8,j = 1,k = 0) ;
+S15(i = 8,j = 1,k = 4) ;
+S18(i = 8,j = 1,k = 4) ;
+for (k=-4;k<=-3;k++) {
+  S14(i = 8,j = 2) ;
+  S20(i = 8,j = 2) ;
+}
+S14(i = 8,j = 2,k = -2) ;
+S19(i = 8,j = 2,k = -2) ;
+S20(i = 8,j = 2,k = -2) ;
+S4(i = 8,j = 2,k = -1) ;
+S14(i = 8,j = 2,k = -1) ;
+S19(i = 8,j = 2,k = -1) ;
+S20(i = 8,j = 2,k = -1) ;
+S14(i = 8,j = 2,k = 0) ;
+S19(i = 8,j = 2,k = 0) ;
+S20(i = 8,j = 2,k = 0) ;
+S15(i = 8,j = 2,k = 4) ;
+S18(i = 8,j = 2,k = 4) ;
+for (k=-4;k<=-2;k++) {
+  S14(i = 8,j = 3) ;
+  S20(i = 8,j = 3) ;
+}
+S4(i = 8,j = 3,k = -1) ;
+S14(i = 8,j = 3,k = -1) ;
+S20(i = 8,j = 3,k = -1) ;
+S14(i = 8,j = 3,k = 0) ;
+S20(i = 8,j = 3,k = 0) ;
+S15(i = 8,j = 3,k = 4) ;
+S18(i = 8,j = 3,k = 4) ;
+for (k=-4;k<=-2;k++) {
+  S14(i = 8,j = 4) ;
+  S20(i = 8,j = 4) ;
+}
+S4(i = 8,j = 4,k = -1) ;
+S14(i = 8,j = 4,k = -1) ;
+S20(i = 8,j = 4,k = -1) ;
+S5(i = 8,j = 4,k = 0) ;
+S9(i = 8,j = 4,k = 0) ;
+S10(i = 8,j = 4,k = 0) ;
+S14(i = 8,j = 4,k = 0) ;
+S20(i = 8,j = 4,k = 0) ;
+S23(i = 8,j = 4,k = 0) ;
+S13(i = 8,j = 4,k = 1) ;
+S21(i = 8,j = 4,k = 1) ;
+S23(i = 8,j = 4,k = 1) ;
+S24(i = 8,j = 4,k = 1) ;
+S13(i = 8,j = 4,k = 2) ;
+S16(i = 8,j = 4,k = 2) ;
+S17(i = 8,j = 4,k = 2) ;
+S24(i = 8,j = 4,k = 2) ;
+S13(i = 8,j = 4,k = 3) ;
+S24(i = 8,j = 4,k = 3) ;
+S13(i = 8,j = 4,k = 4) ;
+S15(i = 8,j = 4,k = 4) ;
+S23(i = 8,j = 5,k = 0) ;
+S11(i = 8,j = 5,k = 1) ;
+S21(i = 8,j = 5,k = 1) ;
+S22(i = 8,j = 5,k = 1) ;
+S23(i = 8,j = 5,k = 1) ;
+S24(i = 8,j = 5,k = 1) ;
+S11(i = 8,j = 5,k = 2) ;
+S16(i = 8,j = 5,k = 2) ;
+S17(i = 8,j = 5,k = 2) ;
+S24(i = 8,j = 5,k = 2) ;
+S11(i = 8,j = 5,k = 3) ;
+S24(i = 8,j = 5,k = 3) ;
+S11(i = 8,j = 5,k = 4) ;
+S15(i = 8,j = 5,k = 4) ;
+S23(i = 8,j = 6,k = 0) ;
+S12(i = 8,j = 6,k = 1) ;
+S21(i = 8,j = 6,k = 1) ;
+S22(i = 8,j = 6,k = 1) ;
+S23(i = 8,j = 6,k = 1) ;
+S24(i = 8,j = 6,k = 1) ;
+S12(i = 8,j = 6,k = 2) ;
+S16(i = 8,j = 6,k = 2) ;
+S17(i = 8,j = 6,k = 2) ;
+S24(i = 8,j = 6,k = 2) ;
+S12(i = 8,j = 6,k = 3) ;
+S24(i = 8,j = 6,k = 3) ;
+S12(i = 8,j = 6,k = 4) ;
+for (j=7;j<=8;j++) {
+  S23(i = 8,k = 0) ;
+  S21(i = 8,k = 1) ;
+  S22(i = 8,k = 1) ;
+  S23(i = 8,k = 1) ;
+  S24(i = 8,k = 1) ;
+  for (k=2;k<=3;k++) {
+    S24(i = 8) ;
+  }
+}
+S22(i = 8,j = 9,k = 1) ;
+S7(i = 9,j = 0,k = 0) ;
+for (j=1;j<=2;j++) {
+  for (k=-1;k<=0;k++) {
+    S19(i = 9) ;
+  }
+  for (k=4;k<=5;k++) {
+    S15(i = 9) ;
+    S18(i = 9) ;
+  }
+}
+S20(i = 9,j = 3,k = -4) ;
+for (k=-3;k<=-2;k++) {
+  S14(i = 9,j = 3) ;
+  S20(i = 9,j = 3) ;
+}
+for (k=-1;k<=0;k++) {
+  S14(i = 9,j = 3) ;
+  S19(i = 9,j = 3) ;
+  S20(i = 9,j = 3) ;
+}
+for (k=4;k<=5;k++) {
+  S15(i = 9,j = 3) ;
+  S18(i = 9,j = 3) ;
+}
+S20(i = 9,j = 4,k = -4) ;
+for (k=-3;k<=-1;k++) {
+  S14(i = 9,j = 4) ;
+  S20(i = 9,j = 4) ;
+}
+S9(i = 9,j = 4,k = 0) ;
+S10(i = 9,j = 4,k = 0) ;
+S14(i = 9,j = 4,k = 0) ;
+S20(i = 9,j = 4,k = 0) ;
+S23(i = 9,j = 4,k = 0) ;
+S23(i = 9,j = 4,k = 1) ;
+S13(i = 9,j = 4,k = 2) ;
+S21(i = 9,j = 4,k = 2) ;
+S23(i = 9,j = 4,k = 2) ;
+S24(i = 9,j = 4,k = 2) ;
+S13(i = 9,j = 4,k = 3) ;
+S16(i = 9,j = 4,k = 3) ;
+S17(i = 9,j = 4,k = 3) ;
+S24(i = 9,j = 4,k = 3) ;
+S13(i = 9,j = 4,k = 4) ;
+S15(i = 9,j = 4,k = 4) ;
+S18(i = 9,j = 4,k = 4) ;
+S15(i = 9,j = 4,k = 5) ;
+S18(i = 9,j = 4,k = 5) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 5) ;
+}
+S13(i = 9,j = 5,k = 2) ;
+S21(i = 9,j = 5,k = 2) ;
+S22(i = 9,j = 5,k = 2) ;
+S23(i = 9,j = 5,k = 2) ;
+S24(i = 9,j = 5,k = 2) ;
+S13(i = 9,j = 5,k = 3) ;
+S16(i = 9,j = 5,k = 3) ;
+S17(i = 9,j = 5,k = 3) ;
+S24(i = 9,j = 5,k = 3) ;
+S13(i = 9,j = 5,k = 4) ;
+S15(i = 9,j = 5,k = 4) ;
+S15(i = 9,j = 5,k = 5) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 6) ;
+}
+S11(i = 9,j = 6,k = 2) ;
+S21(i = 9,j = 6,k = 2) ;
+S22(i = 9,j = 6,k = 2) ;
+S23(i = 9,j = 6,k = 2) ;
+S24(i = 9,j = 6,k = 2) ;
+S11(i = 9,j = 6,k = 3) ;
+S16(i = 9,j = 6,k = 3) ;
+S17(i = 9,j = 6,k = 3) ;
+S24(i = 9,j = 6,k = 3) ;
+S11(i = 9,j = 6,k = 4) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 7) ;
+}
+S12(i = 9,j = 7,k = 2) ;
+S21(i = 9,j = 7,k = 2) ;
+S22(i = 9,j = 7,k = 2) ;
+S23(i = 9,j = 7,k = 2) ;
+S24(i = 9,j = 7,k = 2) ;
+S12(i = 9,j = 7,k = 3) ;
+S16(i = 9,j = 7,k = 3) ;
+S17(i = 9,j = 7,k = 3) ;
+S24(i = 9,j = 7,k = 3) ;
+S12(i = 9,j = 7,k = 4) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 8) ;
+}
+S21(i = 9,j = 8,k = 2) ;
+S22(i = 9,j = 8,k = 2) ;
+S23(i = 9,j = 8,k = 2) ;
+S24(i = 9,j = 8,k = 2) ;
+S24(i = 9,j = 8,k = 3) ;
+S22(i = 9,j = 9,k = 2) ;
+for (j=1;j<=3;j++) {
+  S19(i = 10,k = 0) ;
+  S26(i = 10,k = 3) ;
+  S15(i = 10,k = 4) ;
+  S18(i = 10,k = 4) ;
+  S25(i = 10,k = 4) ;
+  for (k=5;k<=6;k++) {
+    S15(i = 10) ;
+    S18(i = 10) ;
+  }
+}
+for (k=-4;k<=-3;k++) {
+  S20(i = 10,j = 4) ;
+}
+for (k=-2;k<=-1;k++) {
+  S14(i = 10,j = 4) ;
+  S20(i = 10,j = 4) ;
+}
+S9(i = 10,j = 4,k = 0) ;
+S10(i = 10,j = 4,k = 0) ;
+S14(i = 10,j = 4,k = 0) ;
+S19(i = 10,j = 4,k = 0) ;
+S20(i = 10,j = 4,k = 0) ;
+S13(i = 10,j = 4,k = 3) ;
+S21(i = 10,j = 4,k = 3) ;
+S24(i = 10,j = 4,k = 3) ;
+S26(i = 10,j = 4,k = 3) ;
+S13(i = 10,j = 4,k = 4) ;
+S15(i = 10,j = 4,k = 4) ;
+S16(i = 10,j = 4,k = 4) ;
+S17(i = 10,j = 4,k = 4) ;
+S18(i = 10,j = 4,k = 4) ;
+S25(i = 10,j = 4,k = 4) ;
+for (k=5;k<=6;k++) {
+  S15(i = 10,j = 4) ;
+  S18(i = 10,j = 4) ;
+}
+S13(i = 10,j = 5,k = 3) ;
+S21(i = 10,j = 5,k = 3) ;
+S22(i = 10,j = 5,k = 3) ;
+S24(i = 10,j = 5,k = 3) ;
+S26(i = 10,j = 5,k = 3) ;
+S13(i = 10,j = 5,k = 4) ;
+S15(i = 10,j = 5,k = 4) ;
+S16(i = 10,j = 5,k = 4) ;
+S17(i = 10,j = 5,k = 4) ;
+S18(i = 10,j = 5,k = 4) ;
+S25(i = 10,j = 5,k = 4) ;
+for (k=5;k<=6;k++) {
+  S15(i = 10,j = 5) ;
+  S18(i = 10,j = 5) ;
+}
+S13(i = 10,j = 6,k = 3) ;
+S21(i = 10,j = 6,k = 3) ;
+S22(i = 10,j = 6,k = 3) ;
+S24(i = 10,j = 6,k = 3) ;
+S13(i = 10,j = 6,k = 4) ;
+S16(i = 10,j = 6,k = 4) ;
+S17(i = 10,j = 6,k = 4) ;
+S11(i = 10,j = 7,k = 3) ;
+S21(i = 10,j = 7,k = 3) ;
+S22(i = 10,j = 7,k = 3) ;
+S24(i = 10,j = 7,k = 3) ;
+S11(i = 10,j = 7,k = 4) ;
+S16(i = 10,j = 7,k = 4) ;
+S17(i = 10,j = 7,k = 4) ;
+S12(i = 10,j = 8,k = 3) ;
+S21(i = 10,j = 8,k = 3) ;
+S22(i = 10,j = 8,k = 3) ;
+S24(i = 10,j = 8,k = 3) ;
+S12(i = 10,j = 8,k = 4) ;
+S16(i = 10,j = 8,k = 4) ;
+S17(i = 10,j = 8,k = 4) ;
+S22(i = 10,j = 9,k = 3) ;
+for (i=11;i<=14;i++) {
+  for (j=1;j<=5;j++) {
+    S26(k = 3) ;
+    S25(k = 4) ;
+  }
+}
diff --git a/test/non_optimal/usvd_e_t.c.ppl b/test/non_optimal/usvd_e_t.c.ppl
new file mode 100644 (file)
index 0000000..a33703e
--- /dev/null
@@ -0,0 +1,389 @@
+/* Generated from ././non_optimal/usvd_e_t.cloog by CLooG 0.15 64 bits in 0.78s. */
+for (i=0;i<=2;i++) {
+  S1(j = 0,k = 0) ;
+  S2(j = 0,k = 0) ;
+  for (j=1;j<=4;j++) {
+    S2(k = 0) ;
+  }
+}
+S1(i = 3,j = 0,k = 0) ;
+S2(i = 3,j = 0,k = 0) ;
+for (j=1;j<=4;j++) {
+  S2(i = 3,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 3,k = 0) ;
+}
+S1(i = 4,j = 0,k = 0) ;
+S2(i = 4,j = 0,k = 0) ;
+S3(i = 4,j = 0,k = 0) ;
+S5(i = 4,j = 0,k = 0) ;
+for (j=1;j<=4;j++) {
+  S2(i = 4,k = 0) ;
+  S5(i = 4,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 4,k = 0) ;
+}
+S6(i = 5,j = -4,k = 0) ;
+S7(i = 5,j = -4,k = 0) ;
+for (j=-3;j<=-1;j++) {
+  S7(i = 5,k = 0) ;
+}
+S3(i = 5,j = 0,k = 0) ;
+S7(i = 5,j = 0,k = 0) ;
+S4(i = 5,j = 1,k = -1) ;
+S5(i = 5,j = 1,k = 0) ;
+for (j=2;j<=4;j++) {
+  S5(i = 5,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 5,k = 0) ;
+}
+S6(i = 6,j = -4,k = 0) ;
+S6(i = 6,j = -3,k = 0) ;
+S7(i = 6,j = -3,k = 0) ;
+for (j=-2;j<=-1;j++) {
+  S7(i = 6,k = 0) ;
+}
+S3(i = 6,j = 0,k = 0) ;
+S7(i = 6,j = 0,k = 0) ;
+S4(i = 6,j = 1,k = -1) ;
+S4(i = 6,j = 2,k = -1) ;
+S5(i = 6,j = 2,k = 0) ;
+for (j=3;j<=4;j++) {
+  S5(i = 6,k = 0) ;
+}
+for (j=7;j<=11;j++) {
+  S8(i = 6,k = 0) ;
+}
+for (j=-4;j<=-3;j++) {
+  S6(i = 7,k = 0) ;
+}
+S6(i = 7,j = -2,k = 0) ;
+S7(i = 7,j = -2,k = 0) ;
+S7(i = 7,j = -1,k = 0) ;
+S3(i = 7,j = 0,k = 0) ;
+S7(i = 7,j = 0,k = 0) ;
+for (j=1;j<=2;j++) {
+  S4(i = 7,k = -1) ;
+}
+S4(i = 7,j = 3,k = -1) ;
+S5(i = 7,j = 3,k = 0) ;
+S5(i = 7,j = 4,k = 0) ;
+S9(i = 7,j = 4,k = 0) ;
+S10(i = 7,j = 4,k = 0) ;
+S11(i = 7,j = 4,k = 0) ;
+S21(i = 7,j = 4,k = 0) ;
+S23(i = 7,j = 4,k = 0) ;
+S11(i = 7,j = 4,k = 1) ;
+S16(i = 7,j = 4,k = 1) ;
+S17(i = 7,j = 4,k = 1) ;
+for (k=2;k<=4;k++) {
+  S11(i = 7,j = 4) ;
+}
+S12(i = 7,j = 5,k = 0) ;
+S21(i = 7,j = 5,k = 0) ;
+S22(i = 7,j = 5,k = 0) ;
+S23(i = 7,j = 5,k = 0) ;
+S12(i = 7,j = 5,k = 1) ;
+S16(i = 7,j = 5,k = 1) ;
+S17(i = 7,j = 5,k = 1) ;
+for (k=2;k<=4;k++) {
+  S12(i = 7,j = 5) ;
+}
+S21(i = 7,j = 6,k = 0) ;
+S22(i = 7,j = 6,k = 0) ;
+S23(i = 7,j = 6,k = 0) ;
+for (j=7;j<=8;j++) {
+  S8(i = 7,k = 0) ;
+  S21(i = 7,k = 0) ;
+  S22(i = 7,k = 0) ;
+  S23(i = 7,k = 0) ;
+}
+S8(i = 7,j = 9,k = 0) ;
+S22(i = 7,j = 9,k = 0) ;
+for (j=10;j<=11;j++) {
+  S8(i = 7,k = 0) ;
+}
+for (j=-4;j<=-2;j++) {
+  S6(i = 8,k = 0) ;
+}
+S6(i = 8,j = -1,k = 0) ;
+S7(i = 8,j = -1,k = 0) ;
+S3(i = 8,j = 0,k = 0) ;
+S7(i = 8,j = 0,k = 0) ;
+S19(i = 8,j = 1,k = -2) ;
+S4(i = 8,j = 1,k = -1) ;
+S19(i = 8,j = 1,k = -1) ;
+S19(i = 8,j = 1,k = 0) ;
+S15(i = 8,j = 1,k = 4) ;
+S18(i = 8,j = 1,k = 4) ;
+for (k=-4;k<=-3;k++) {
+  S14(i = 8,j = 2) ;
+  S20(i = 8,j = 2) ;
+}
+S14(i = 8,j = 2,k = -2) ;
+S19(i = 8,j = 2,k = -2) ;
+S20(i = 8,j = 2,k = -2) ;
+S4(i = 8,j = 2,k = -1) ;
+S14(i = 8,j = 2,k = -1) ;
+S19(i = 8,j = 2,k = -1) ;
+S20(i = 8,j = 2,k = -1) ;
+S14(i = 8,j = 2,k = 0) ;
+S19(i = 8,j = 2,k = 0) ;
+S20(i = 8,j = 2,k = 0) ;
+S15(i = 8,j = 2,k = 4) ;
+S18(i = 8,j = 2,k = 4) ;
+for (k=-4;k<=-2;k++) {
+  S14(i = 8,j = 3) ;
+  S20(i = 8,j = 3) ;
+}
+S4(i = 8,j = 3,k = -1) ;
+S14(i = 8,j = 3,k = -1) ;
+S20(i = 8,j = 3,k = -1) ;
+S14(i = 8,j = 3,k = 0) ;
+S20(i = 8,j = 3,k = 0) ;
+S15(i = 8,j = 3,k = 4) ;
+S18(i = 8,j = 3,k = 4) ;
+for (k=-4;k<=-2;k++) {
+  S14(i = 8,j = 4) ;
+  S20(i = 8,j = 4) ;
+}
+S4(i = 8,j = 4,k = -1) ;
+S14(i = 8,j = 4,k = -1) ;
+S20(i = 8,j = 4,k = -1) ;
+S5(i = 8,j = 4,k = 0) ;
+S9(i = 8,j = 4,k = 0) ;
+S10(i = 8,j = 4,k = 0) ;
+S14(i = 8,j = 4,k = 0) ;
+S20(i = 8,j = 4,k = 0) ;
+S23(i = 8,j = 4,k = 0) ;
+S13(i = 8,j = 4,k = 1) ;
+S21(i = 8,j = 4,k = 1) ;
+S23(i = 8,j = 4,k = 1) ;
+S24(i = 8,j = 4,k = 1) ;
+S13(i = 8,j = 4,k = 2) ;
+S16(i = 8,j = 4,k = 2) ;
+S17(i = 8,j = 4,k = 2) ;
+S24(i = 8,j = 4,k = 2) ;
+S13(i = 8,j = 4,k = 3) ;
+S24(i = 8,j = 4,k = 3) ;
+S13(i = 8,j = 4,k = 4) ;
+S15(i = 8,j = 4,k = 4) ;
+S23(i = 8,j = 5,k = 0) ;
+S11(i = 8,j = 5,k = 1) ;
+S21(i = 8,j = 5,k = 1) ;
+S22(i = 8,j = 5,k = 1) ;
+S23(i = 8,j = 5,k = 1) ;
+S24(i = 8,j = 5,k = 1) ;
+S11(i = 8,j = 5,k = 2) ;
+S16(i = 8,j = 5,k = 2) ;
+S17(i = 8,j = 5,k = 2) ;
+S24(i = 8,j = 5,k = 2) ;
+S11(i = 8,j = 5,k = 3) ;
+S24(i = 8,j = 5,k = 3) ;
+S11(i = 8,j = 5,k = 4) ;
+S15(i = 8,j = 5,k = 4) ;
+S23(i = 8,j = 6,k = 0) ;
+S12(i = 8,j = 6,k = 1) ;
+S21(i = 8,j = 6,k = 1) ;
+S22(i = 8,j = 6,k = 1) ;
+S23(i = 8,j = 6,k = 1) ;
+S24(i = 8,j = 6,k = 1) ;
+S12(i = 8,j = 6,k = 2) ;
+S16(i = 8,j = 6,k = 2) ;
+S17(i = 8,j = 6,k = 2) ;
+S24(i = 8,j = 6,k = 2) ;
+S12(i = 8,j = 6,k = 3) ;
+S24(i = 8,j = 6,k = 3) ;
+S12(i = 8,j = 6,k = 4) ;
+for (j=7;j<=8;j++) {
+  S23(i = 8,k = 0) ;
+  S21(i = 8,k = 1) ;
+  S22(i = 8,k = 1) ;
+  S23(i = 8,k = 1) ;
+  S24(i = 8,k = 1) ;
+  for (k=2;k<=3;k++) {
+    S24(i = 8) ;
+  }
+}
+S22(i = 8,j = 9,k = 1) ;
+S7(i = 9,j = 0,k = 0) ;
+for (j=1;j<=2;j++) {
+  for (k=-1;k<=0;k++) {
+    S19(i = 9) ;
+  }
+  for (k=4;k<=5;k++) {
+    S15(i = 9) ;
+    S18(i = 9) ;
+  }
+}
+S20(i = 9,j = 3,k = -4) ;
+for (k=-3;k<=-2;k++) {
+  S14(i = 9,j = 3) ;
+  S20(i = 9,j = 3) ;
+}
+for (k=-1;k<=0;k++) {
+  S14(i = 9,j = 3) ;
+  S19(i = 9,j = 3) ;
+  S20(i = 9,j = 3) ;
+}
+for (k=4;k<=5;k++) {
+  S15(i = 9,j = 3) ;
+  S18(i = 9,j = 3) ;
+}
+S20(i = 9,j = 4,k = -4) ;
+for (k=-3;k<=-1;k++) {
+  S14(i = 9,j = 4) ;
+  S20(i = 9,j = 4) ;
+}
+S9(i = 9,j = 4,k = 0) ;
+S10(i = 9,j = 4,k = 0) ;
+S14(i = 9,j = 4,k = 0) ;
+S20(i = 9,j = 4,k = 0) ;
+S23(i = 9,j = 4,k = 0) ;
+S23(i = 9,j = 4,k = 1) ;
+S13(i = 9,j = 4,k = 2) ;
+S21(i = 9,j = 4,k = 2) ;
+S23(i = 9,j = 4,k = 2) ;
+S24(i = 9,j = 4,k = 2) ;
+S13(i = 9,j = 4,k = 3) ;
+S16(i = 9,j = 4,k = 3) ;
+S17(i = 9,j = 4,k = 3) ;
+S24(i = 9,j = 4,k = 3) ;
+S13(i = 9,j = 4,k = 4) ;
+S15(i = 9,j = 4,k = 4) ;
+S18(i = 9,j = 4,k = 4) ;
+S15(i = 9,j = 4,k = 5) ;
+S18(i = 9,j = 4,k = 5) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 5) ;
+}
+S13(i = 9,j = 5,k = 2) ;
+S21(i = 9,j = 5,k = 2) ;
+S22(i = 9,j = 5,k = 2) ;
+S23(i = 9,j = 5,k = 2) ;
+S24(i = 9,j = 5,k = 2) ;
+S13(i = 9,j = 5,k = 3) ;
+S16(i = 9,j = 5,k = 3) ;
+S17(i = 9,j = 5,k = 3) ;
+S24(i = 9,j = 5,k = 3) ;
+S13(i = 9,j = 5,k = 4) ;
+S15(i = 9,j = 5,k = 4) ;
+S15(i = 9,j = 5,k = 5) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 6) ;
+}
+S11(i = 9,j = 6,k = 2) ;
+S21(i = 9,j = 6,k = 2) ;
+S22(i = 9,j = 6,k = 2) ;
+S23(i = 9,j = 6,k = 2) ;
+S24(i = 9,j = 6,k = 2) ;
+S11(i = 9,j = 6,k = 3) ;
+S16(i = 9,j = 6,k = 3) ;
+S17(i = 9,j = 6,k = 3) ;
+S24(i = 9,j = 6,k = 3) ;
+S11(i = 9,j = 6,k = 4) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 7) ;
+}
+S12(i = 9,j = 7,k = 2) ;
+S21(i = 9,j = 7,k = 2) ;
+S22(i = 9,j = 7,k = 2) ;
+S23(i = 9,j = 7,k = 2) ;
+S24(i = 9,j = 7,k = 2) ;
+S12(i = 9,j = 7,k = 3) ;
+S16(i = 9,j = 7,k = 3) ;
+S17(i = 9,j = 7,k = 3) ;
+S24(i = 9,j = 7,k = 3) ;
+S12(i = 9,j = 7,k = 4) ;
+for (k=0;k<=1;k++) {
+  S23(i = 9,j = 8) ;
+}
+S21(i = 9,j = 8,k = 2) ;
+S22(i = 9,j = 8,k = 2) ;
+S23(i = 9,j = 8,k = 2) ;
+S24(i = 9,j = 8,k = 2) ;
+S24(i = 9,j = 8,k = 3) ;
+S22(i = 9,j = 9,k = 2) ;
+for (j=1;j<=3;j++) {
+  S19(i = 10,k = 0) ;
+  S26(i = 10,k = 3) ;
+  S15(i = 10,k = 4) ;
+  S18(i = 10,k = 4) ;
+  S25(i = 10,k = 4) ;
+  for (k=5;k<=6;k++) {
+    S15(i = 10) ;
+    S18(i = 10) ;
+  }
+}
+for (k=-4;k<=-3;k++) {
+  S20(i = 10,j = 4) ;
+}
+for (k=-2;k<=-1;k++) {
+  S14(i = 10,j = 4) ;
+  S20(i = 10,j = 4) ;
+}
+S9(i = 10,j = 4,k = 0) ;
+S10(i = 10,j = 4,k = 0) ;
+S14(i = 10,j = 4,k = 0) ;
+S19(i = 10,j = 4,k = 0) ;
+S20(i = 10,j = 4,k = 0) ;
+S13(i = 10,j = 4,k = 3) ;
+S21(i = 10,j = 4,k = 3) ;
+S24(i = 10,j = 4,k = 3) ;
+S26(i = 10,j = 4,k = 3) ;
+S13(i = 10,j = 4,k = 4) ;
+S15(i = 10,j = 4,k = 4) ;
+S16(i = 10,j = 4,k = 4) ;
+S17(i = 10,j = 4,k = 4) ;
+S18(i = 10,j = 4,k = 4) ;
+S25(i = 10,j = 4,k = 4) ;
+for (k=5;k<=6;k++) {
+  S15(i = 10,j = 4) ;
+  S18(i = 10,j = 4) ;
+}
+S13(i = 10,j = 5,k = 3) ;
+S21(i = 10,j = 5,k = 3) ;
+S22(i = 10,j = 5,k = 3) ;
+S24(i = 10,j = 5,k = 3) ;
+S26(i = 10,j = 5,k = 3) ;
+S13(i = 10,j = 5,k = 4) ;
+S15(i = 10,j = 5,k = 4) ;
+S16(i = 10,j = 5,k = 4) ;
+S17(i = 10,j = 5,k = 4) ;
+S18(i = 10,j = 5,k = 4) ;
+S25(i = 10,j = 5,k = 4) ;
+for (k=5;k<=6;k++) {
+  S15(i = 10,j = 5) ;
+  S18(i = 10,j = 5) ;
+}
+S13(i = 10,j = 6,k = 3) ;
+S21(i = 10,j = 6,k = 3) ;
+S22(i = 10,j = 6,k = 3) ;
+S24(i = 10,j = 6,k = 3) ;
+S13(i = 10,j = 6,k = 4) ;
+S16(i = 10,j = 6,k = 4) ;
+S17(i = 10,j = 6,k = 4) ;
+S11(i = 10,j = 7,k = 3) ;
+S21(i = 10,j = 7,k = 3) ;
+S22(i = 10,j = 7,k = 3) ;
+S24(i = 10,j = 7,k = 3) ;
+S11(i = 10,j = 7,k = 4) ;
+S16(i = 10,j = 7,k = 4) ;
+S17(i = 10,j = 7,k = 4) ;
+S12(i = 10,j = 8,k = 3) ;
+S21(i = 10,j = 8,k = 3) ;
+S22(i = 10,j = 8,k = 3) ;
+S24(i = 10,j = 8,k = 3) ;
+S12(i = 10,j = 8,k = 4) ;
+S16(i = 10,j = 8,k = 4) ;
+S17(i = 10,j = 8,k = 4) ;
+S22(i = 10,j = 9,k = 3) ;
+for (i=11;i<=14;i++) {
+  for (j=1;j<=5;j++) {
+    S26(k = 3) ;
+    S25(k = 4) ;
+  }
+}
diff --git a/test/non_optimal/usvd_e_t.cloog b/test/non_optimal/usvd_e_t.cloog
new file mode 100644 (file)
index 0000000..d7b7a5d
--- /dev/null
@@ -0,0 +1,241 @@
+# language: C
+c
+
+# Context
+1
+0 2
+
+0 # parameter names
+
+26 # Number of statements
+
+1
+4 5
+#          i      j      k      1
+    0      0      1      0      0  
+    0      0      0      1      0  
+    1      1      0      0      0  
+    1     -1      0      0      4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      0      0      1      0  
+    1      1      0      0      0  
+    1     -1      0      0      4  
+    1      0      1      0      0  
+    1      0     -1      0      4  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      1      0      0  
+    0      0      0      1      0  
+    1      1      0      0     -4  
+    1     -1      0      0      8  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      0      1      1  
+    1     -1      0      0      8  
+    1      0      1      0     -1  
+    1      1     -1      0     -4  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      0      1      0  
+    1      1      0      0     -4  
+    1      0     -1      0      4  
+    1     -1      1      0      4  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      0      1      0  
+    1     -1      0      0      8  
+    1      0      1      0      4  
+    1      1     -1      0     -9  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      0      1      0  
+    1      1      0      0     -5  
+    1      0     -1      0      0  
+    1     -1      1      0      9  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      0      0      1      0  
+    1      1      0      0     -3  
+    1     -1      0      0      7  
+    1      0      1      0     -7  
+    1      0     -1      0     11  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      1      0     -4  
+    0      0      0      1      0  
+    1      1      0      0     -7  
+    1     -1      0      0     10  
+0 0 0
+1
+4 5
+#          i      j      k      1
+    0      0      1      0     -4  
+    0      0      0      1      0  
+    1      1      0      0     -7  
+    1     -1      0      0     10  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1     -1      0     -3  
+    1      0     -1      0      7  
+    1      0      1      0     -4  
+    1      0      0     -1      4  
+    1      0     -1      1      4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1     -1      0     -2  
+    1      0      1      0     -5  
+    1      0     -1      0      8  
+    1      0      0     -1      4  
+    1      0     -1      1      5  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1     -1      0      0     10  
+    1      0      1      0     -4  
+    1      0      0     -1      4  
+    1     -1      0      1      7  
+    1      1     -1      0     -4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1      1      0      0     -8  
+    1      0     -1      0      4  
+    1      0      0     -1      0  
+    1     -1      0      1     12  
+    1     -1      1      0      6  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1     -1      0      0     10  
+    1      0      1      0     -1  
+    1      0     -1      0      5  
+    1      0      0      1     -4  
+    1      1      0     -1     -4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1      0     -1     -6  
+    1      0      0     -1      4  
+    1      0      1      0     -4  
+    1      0      0      1     -1  
+    1      0     -1      1      4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1      0     -1     -6  
+    1      0      0      1     -1  
+    1      0      1      0     -4  
+    1      0      0     -1      4  
+    1      0     -1      1      4  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1     -1      0      0     10  
+    1      0      1      0     -1  
+    1      0      0      1     -4  
+    1      1      0     -1     -4  
+    1      1     -1      0     -5  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1      1      0      0     -8  
+    1      0      1      0     -1  
+    1      0      0     -1      0  
+    1     -1      0      1     10  
+    1      1     -1      0     -6  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1      1      0      0     -8  
+    1      0     -1      0      4  
+    1      0      0      1      4  
+    1      0      0     -1      0  
+    1     -1      1      0      6  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1      0     -1     -7  
+    1      0      0     -1      3  
+    1      0      1      0     -4  
+    1      0     -1      0      8  
+    1      0      0      1      0  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      1      0     -1     -7  
+    1      0      0      1      0  
+    1      0      1      0     -5  
+    1      0     -1      0      9  
+    1      0      0     -1      3  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1     -1      0      0      9  
+    1      0      1      0     -4  
+    1      0     -1      0      8  
+    1      0      0      1      0  
+    1      1      0     -1     -7  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    1      1      0      0     -8  
+    1      0      1      0     -4  
+    1      0     -1      0      8  
+    1      0      0     -1      3  
+    1     -1      0      1      7  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      0      0      1     -4  
+    1      1      0      0    -10  
+    1     -1      0      0     14  
+    1      0      1      0     -1  
+    1      0     -1      0      5  
+0 0 0
+1
+5 5
+#          i      j      k      1
+    0      0      0      1     -3  
+    1      1      0      0    -10  
+    1     -1      0      0     14  
+    1      0      1      0     -1  
+    1      0     -1      0      5  
+0 0 0
+0 # iterator names
+0 # scattering functions
+0 # scattering dimension names
+
diff --git a/test/non_optimal/youcef.c.polylib b/test/non_optimal/youcef.c.polylib
new file mode 100644 (file)
index 0000000..336d46e
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated by CLooG v0.10.7 */
+for (i=0;i<=3;i++) {
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=4;j++) {
+    S2 ;
+  }
+  S2(j = 5) ;
+  S3(j = 5) ;
+}
+S1(i = 4,j = 4) ;
+S2(i = 4,j = 4) ;
+S2(i = 4,j = 5) ;
+S3(i = 4,j = 5) ;
+S1(i = 5,j = 5) ;
+S2(i = 5,j = 5) ;
+S3(i = 5,j = 5) ;
diff --git a/test/non_optimal/youcef.c.ppl b/test/non_optimal/youcef.c.ppl
new file mode 100644 (file)
index 0000000..1ab0e1d
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated from ././non_optimal/youcef.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=0;i<=3;i++) {
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=4;j++) {
+    S2 ;
+  }
+  S2(j = 5) ;
+  S3(j = 5) ;
+}
+S1(i = 4,j = 4) ;
+S2(i = 4,j = 4) ;
+S2(i = 4,j = 5) ;
+S3(i = 4,j = 5) ;
+S1(i = 5,j = 5) ;
+S2(i = 5,j = 5) ;
+S3(i = 5,j = 5) ;
diff --git a/test/non_optimal/youcef.cloog b/test/non_optimal/youcef.cloog
new file mode 100644 (file)
index 0000000..297bf79
--- /dev/null
@@ -0,0 +1,46 @@
+# Optimal code is in fact :
+# 
+# for (i=0;i<=M;i++) {
+#   S1 ;
+#   for (j=0;j<=N;j++) {
+#     S2 ;
+#   }
+#   S3 ;
+# }
+
+# language: C
+c
+
+# parameters {M, N | M>=1 N >=1}
+0 2
+0
+
+3 # Number of statements
+
+1
+# {i | 0<=i<=5 i==j}
+3 4
+1  1  0  0
+1 -1  0  5
+0  1 -1  0
+0  0  0
+
+1
+# {i | 0<=i<=5 i<=j<=5}
+4 4
+1  1  0  0
+1 -1  0  5
+1 -1  1  0
+1  0 -1  5
+0  0  0
+
+1
+# {i | 0<=i<=5 j==5}
+3 4
+1  1  0  0
+1 -1  0  5
+0  0  1 -5
+0  0  0
+0
+0 # Scattering functions
diff --git a/test/not_equal.c.polylib b/test/not_equal.c.polylib
new file mode 100644 (file)
index 0000000..1085f91
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./not_equal.cloog by CLooG 0.15 64 bits in 0.10s. */
+for (s0=0;s0<=N;s0++) {
+  for (s1=-M;s1<=-1;s1++) {
+    S1(i = s0,j = s1) ;
+  }
+  for (s1=1;s1<=M;s1++) {
+    S1(i = s0,j = s1) ;
+  }
+}
diff --git a/test/not_equal.c.ppl b/test/not_equal.c.ppl
new file mode 100644 (file)
index 0000000..4ab555d
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./not_equal.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (s0=0;s0<=N;s0++) {
+  for (s1=-M;s1<=-1;s1++) {
+    S1(i = s0,j = s1) ;
+  }
+  for (s1=1;s1<=M;s1++) {
+    S1(i = s0,j = s1) ;
+  }
+}
diff --git a/test/not_equal.cloog b/test/not_equal.cloog
new file mode 100644 (file)
index 0000000..73bb8e3
--- /dev/null
@@ -0,0 +1,38 @@
+# language: C
+c
+
+# parameters {M, N | M>=1 N >=1}
+2 4
+1  1  0 -1
+1  0  1 -1
+0
+
+1 # Number of statements
+
+2
+# {i, j | i=0 0<=i<=N 1<=j<=M}
+4 6
+1  1  0  0  0  0
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+
+4 6
+1  1  0  0  0  0
+1 -1  0  0  1  0
+1  0 -1  0  0 -1
+1  0  1  1  0  0
+0  0  0
+
+1
+i j
+1 # Scattering functions
+2 8 
+0  1  0 -1  0  0  0  0
+0  0  1  0 -1  0  0  0
+
+1
+s0 s1
+
+
diff --git a/test/nul_basic1.c.polylib b/test/nul_basic1.c.polylib
new file mode 100644 (file)
index 0000000..9a624c3
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+for (i=0;i<=M;i+=2) {
+  S1(j = i/2) ;
+}
diff --git a/test/nul_basic1.c.ppl b/test/nul_basic1.c.ppl
new file mode 100644 (file)
index 0000000..de15a67
--- /dev/null
@@ -0,0 +1,4 @@
+/* Generated from ./nul_basic1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=M;i+=2) {
+  S1(j = i/2) ;
+}
diff --git a/test/nul_basic1.cloog b/test/nul_basic1.cloog
new file mode 100644 (file)
index 0000000..878bd89
--- /dev/null
@@ -0,0 +1,28 @@
+# Optimal code is in fact :
+#
+# for (i=0;i<=M;i+=2) {
+#   S1 ;
+# }
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  0  1
+0
+
+1 # Number of statements
+
+1
+# {i, j | i=2*j; 0<=i<=n}
+3 5
+#  i  j  n  1
+0  1 -2  0  0
+1  1  0  0  0
+1 -1  0  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/nul_basic2.c.polylib b/test/nul_basic2.c.polylib
new file mode 100644 (file)
index 0000000..630ef7e
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated by CLooG v0.12 in 0.00s. */
+for (i=2;i<=n;i+=2) {
+  if (i%4 == 0) {
+    S2(j = i/4) ;
+  }
+  S1(j = i/2) ;
+}
diff --git a/test/nul_basic2.c.ppl b/test/nul_basic2.c.ppl
new file mode 100644 (file)
index 0000000..5c416f8
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from ./nul_basic2.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (i=2;i<=n;i+=2) {
+  if (i%4 == 0) {
+    S2(j = i/4) ;
+  }
+  S1(j = i/2) ;
+}
diff --git a/test/nul_basic2.cloog b/test/nul_basic2.cloog
new file mode 100644 (file)
index 0000000..bf3c78c
--- /dev/null
@@ -0,0 +1,54 @@
+# Optimal code is in fact :
+#
+# for (i=0;i<=M;i+=2) {
+#   S1 ;
+# }
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  1 -2
+1
+n
+
+2 # Number of statements
+
+1
+# {i, j | i=2*j; 1<=i<=n}
+3 5
+#  i  j  n  1
+0  1 -2  0  0
+1  1  0  0 -1
+1 -1  0  1  0
+0  0  0
+
+1
+# {i, j | i=4*j; 1<=i<=n}
+3 5
+#  i  j  n  1
+0  1 -4  0  0
+1  1  0  0 -1
+1 -1  0  1  0
+0  0  0
+0
+
+0 # Scattering functions
+5 10
+# t1 t2 t3 t4 t5  i  j  n  1
+0  1  0  0  0  0  0  0  0  0
+0  0  1  0  0  0 -1  0  0  0
+0  0  0  1  0  0  0  0  0  0
+0  0  0  0  1  0  0 -1  0  0
+0  0  0  0  0  1  0  0  0  0
+
+5 10
+# t1 t2 t3 t4 t5  i  j  n  1
+0  1  0  0  0  0  0  0  0  0
+0  0  1  0  0  0 -1  0  0  0
+0  0  0  1  0  0  0  0  0  0
+0  0  0  0  1  0  0 -1  0  0
+0  0  0  0  0  1  0  0  0  0
+0
diff --git a/test/nul_girbal.cloog b/test/nul_girbal.cloog
new file mode 100644 (file)
index 0000000..638eb99
--- /dev/null
@@ -0,0 +1,89 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (no constraints on parameters)
+1    2     # 1 lines, 2 columns
+0    0
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+5 # Number of statements
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has 1 domain STATEMENT QUI ME PAUSE PB
+6    5
+#    i    j    p    1
+1    0    1    0    0    # 0 <= j <= 999
+1    0    -1   0    999
+1    -1   1    0    0    # j <= i <= j + 9
+1    1    -1   0    9
+1    -1   0    10   0    #  i = 10 * p
+1    1    0    -10  0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+5 # Number of scattering functions
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   0     # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -1    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    10
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0         0    0           0     -2    # Beta 0
+0    0    1    0    0    0         -1   0           0      0     # Alpha & Gamma 1
+0    0    0    1    0    0         0    0           0      0     # Beta 1
+0    0    0    0    1    0         0    -1          0      0     # Alpha & Gamma 2
+0    0    0    0    0    1         0    0           0      0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -3    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -4    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4
diff --git a/test/nul_ispdc.cloog b/test/nul_ispdc.cloog
new file mode 100644 (file)
index 0000000..b039600
--- /dev/null
@@ -0,0 +1,39 @@
+# language: C
+c
+
+# parameter n
+3 5
+#  m  n  p  1
+1  1 -1  0 -1
+1  0 -1  1 -1
+0  0  1  0 -6
+1
+m n p
+
+2 # Number of statements
+
+1
+# {i, j, k | i=2*k+1; 1<=i<=m;  1<=j<=p}
+5 8
+#  i  k  j  m  n  p  1
+0  1 -2  0  0  0  0 -1 # i=2*k+1
+1  1  0  0  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0  0  0 # i<=m
+1  0  0  1  0  0  0 -1 # 1<=j
+1  0  0 -1  0  0  1  0 # j<=p
+0  0  0
+
+1
+# {i, j, k | i=2*k+1; 1<=i<=n;  1<=j<=7-i}
+5 8
+#  i  k  j  m  n  p  1
+0  1 -2  0  0  0  0 -1 # i=2*k+1
+1  1  0  0  0  0  0 -1 # 1<=i
+1 -1  0  0  0  1  0  0 # i<=n
+1  0  0  1  0  0  0 -1 # 1<=j
+1 -1  0 -1  0  0  0  7 # j<=7-i
+0  0  0
+1
+i k j
+
+0 # Scattering functions
diff --git a/test/nul_lcpc.c.polylib b/test/nul_lcpc.c.polylib
new file mode 100644 (file)
index 0000000..298f211
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ./test/nul_lcpc.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+for (i=1;i<=6;i+=2) {
+  k = (i-1)/2 ;
+  for (j=1;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=p;j++) {
+    S1 ;
+  }
+}
+for (i=7;i<=m;i+=2) {
+  k = (i-1)/2 ;
+  for (j=1;j<=p;j++) {
+    S1 ;
+  }
+}
diff --git a/test/nul_lcpc.c.ppl b/test/nul_lcpc.c.ppl
new file mode 100644 (file)
index 0000000..2711aa7
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated from ./nul_lcpc.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (i=1;i<=6;i+=2) {
+  k = (i-1)/2 ;
+  for (j=1;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=p;j++) {
+    S1 ;
+  }
+}
+for (i=7;i<=m;i+=2) {
+  k = (i-1)/2 ;
+  for (j=1;j<=p;j++) {
+    S1 ;
+  }
+}
diff --git a/test/nul_lcpc.cloog b/test/nul_lcpc.cloog
new file mode 100644 (file)
index 0000000..263e1ea
--- /dev/null
@@ -0,0 +1,39 @@
+# language: C
+c
+
+# parameter n
+3 5
+#  m  n  p  1
+1  1 -1  0 -1
+1  0 -1  1 -1
+0  0  1  0 -6
+1
+m n p
+
+2 # Number of statements
+
+1
+# {i, j, k | i=2*k+1; 1<=i<=m;  1<=j<=p}
+5 8
+#  i  k  j  m  n  p  1
+0  1 -2  0  0  0  0 -1 # i=2*k+1
+1  1  0  0  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0  0  0 # i<=m
+1  0  0  1  0  0  0 -1 # 1<=j
+1  0  0 -1  0  0  1  0 # j<=p
+0  0  0
+
+1
+# {i, j, k | i=2*k+1; 1<=i<=n;  1<=j<=i}
+5 8
+#  i  k  j  m  n  p  1
+0  1 -2  0  0  0  0 -1 # i=2*k+1
+1  1  0  0  0  0  0 -1 # 1<=i
+1 -1  0  0  0  1  0  0 # i<=n
+1  0  0  1  0  0  0 -1 # 1<=j
+1  1  0 -1  0  0  0  0 # j<=i
+0  0  0
+1
+i k j
+
+0 # Scattering functions
diff --git a/test/oc.out b/test/oc.out
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/orc.c.polylib b/test/orc.c.polylib
new file mode 100644 (file)
index 0000000..2dc6210
--- /dev/null
@@ -0,0 +1,89 @@
+/* Generated from orc.cloog by CLooG v0.14.0 gmp bits in 0.07s. */
+/* CLooG asked for 404 KBytes. */
+S1(i = 0) ;
+S2(i = 0,j = 0) ;
+for (p2=1;p2<=22;p2++) {
+  if ((p2+1)%2 == 0) {
+    j = (p2-1)/2 ;
+    S3(i = 0) ;
+  }
+  if (p2%2 == 0) {
+    S2(i = 0,j = p2/2) ;
+  }
+}
+S3(i = 0,j = 11) ;
+for (p1=2;p1<=6;p1++) {
+  if ((p1+1)%3 == 0) {
+    i = (p1-2)/3 ;
+    S4 ;
+  }
+  if ((p1+2)%3 == 0) {
+    i = (p1-1)/3 ;
+    S2(j = 0) ;
+  }
+  if (p1%3 == 0) {
+    S1(i = p1/3) ;
+  }
+  for (p2=1;p2<=floord(-2*p1+68,3);p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      if ((p2+1)%2 == 0) {
+        j = (p2-1)/2 ;
+        S3 ;
+      }
+      if (p2%2 == 0) {
+        S2(j = p2/2) ;
+      }
+    }
+  }
+  for (p2=ceild(-2*p1+69,3);p2<=floord(-2*p1+71,3);p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      if ((p2+1)%2 == 0) {
+        j = (p2-1)/2 ;
+        S3 ;
+      }
+    }
+  }
+}
+S2(i = 2,j = 0) ;
+for (p2=1;p2<=18;p2++) {
+  if ((p2+1)%2 == 0) {
+    j = (p2-1)/2 ;
+    S3(i = 2) ;
+  }
+  if (p2%2 == 0) {
+    S2(i = 2,j = p2/2) ;
+  }
+}
+S3(i = 2,j = 9) ;
+S4(i = 2) ;
+S5(i = 0) ;
+S6(i = 0,j = 0) ;
+for (p2=1;p2<=9;p2++) {
+  S6(i = 0,j = p2) ;
+}
+for (p1=2;p1<=42;p1++) {
+  if ((p1+1)%3 == 0) {
+    i = (p1-2)/3 ;
+    S7 ;
+  }
+  if ((p1+2)%3 == 0) {
+    i = (p1-1)/3 ;
+    S6(j = 0) ;
+  }
+  if (p1%3 == 0) {
+    S5(i = p1/3) ;
+  }
+  for (p2=1;p2<=9;p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      S6(j = p2) ;
+    }
+  }
+}
+S6(i = 14,j = 0) ;
+for (p2=1;p2<=9;p2++) {
+  S6(i = 14,j = p2) ;
+}
+S7(i = 14) ;
diff --git a/test/orc.c.ppl b/test/orc.c.ppl
new file mode 100644 (file)
index 0000000..82d2147
--- /dev/null
@@ -0,0 +1,88 @@
+/* Generated from ./orc.cloog by CLooG 0.15 64 bits in 0.07s. */
+S1(i = 0) ;
+S2(i = 0,j = 0) ;
+for (p2=1;p2<=22;p2++) {
+  if ((p2+1)%2 == 0) {
+    j = (p2-1)/2 ;
+    S3(i = 0) ;
+  }
+  if (p2%2 == 0) {
+    S2(i = 0,j = p2/2) ;
+  }
+}
+S3(i = 0,j = 11) ;
+for (p1=2;p1<=6;p1++) {
+  if ((p1+1)%3 == 0) {
+    i = (p1-2)/3 ;
+    S4 ;
+  }
+  if ((p1+2)%3 == 0) {
+    i = (p1-1)/3 ;
+    S2(j = 0) ;
+  }
+  if (p1%3 == 0) {
+    S1(i = p1/3) ;
+  }
+  for (p2=1;p2<=floord(-2*p1+68,3);p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      if ((p2+1)%2 == 0) {
+        j = (p2-1)/2 ;
+        S3 ;
+      }
+      if (p2%2 == 0) {
+        S2(j = p2/2) ;
+      }
+    }
+  }
+  for (p2=ceild(-2*p1+69,3);p2<=floord(-2*p1+71,3);p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      if ((p2+1)%2 == 0) {
+        j = (p2-1)/2 ;
+        S3 ;
+      }
+    }
+  }
+}
+S2(i = 2,j = 0) ;
+for (p2=1;p2<=18;p2++) {
+  if ((p2+1)%2 == 0) {
+    j = (p2-1)/2 ;
+    S3(i = 2) ;
+  }
+  if (p2%2 == 0) {
+    S2(i = 2,j = p2/2) ;
+  }
+}
+S3(i = 2,j = 9) ;
+S4(i = 2) ;
+S5(i = 0) ;
+S6(i = 0,j = 0) ;
+for (p2=1;p2<=9;p2++) {
+  S6(i = 0,j = p2) ;
+}
+for (p1=2;p1<=42;p1++) {
+  if ((p1+1)%3 == 0) {
+    i = (p1-2)/3 ;
+    S7 ;
+  }
+  if ((p1+2)%3 == 0) {
+    i = (p1-1)/3 ;
+    S6(j = 0) ;
+  }
+  if (p1%3 == 0) {
+    S5(i = p1/3) ;
+  }
+  for (p2=1;p2<=9;p2++) {
+    if ((p1+2)%3 == 0) {
+      i = (p1-1)/3 ;
+      S6(j = p2) ;
+    }
+  }
+}
+S6(i = 14,j = 0) ;
+for (p2=1;p2<=9;p2++) {
+  S6(i = 14,j = p2) ;
+}
+S7(i = 14) ;
diff --git a/test/orc.cloog b/test/orc.cloog
new file mode 100644 (file)
index 0000000..63180ee
--- /dev/null
@@ -0,0 +1,133 @@
+\r
+\r
+#-------------------CONTEXT------------------------\r
+   c # language is c\r
+   1 # Context (no constarints on parameters)\r
+   1 2         # 1 lines and 2 coloumns\r
+   #   1\r
+   1   0\r
+\r
+   1 # We want to set manually the parameter names\r
+\r
+#---------------------STATEMENTS--------------------\r
+   7 #Number of Statements\r
+\r
+   1 #STMT 1 at line no. 12 has 1 domain\r
+\r
+   # Domain 1\r
+   2 3\r
+   #   i   1\r
+   1   1   0\r
+   1  -1   2\r
+0 0 0\r
+   1 #STMT 2 at line no. 15 has 1 domain\r
+\r
+   # Domain 1\r
+   4 4\r
+   #   i   j   1\r
+   1   1   0   0\r
+   1  -1   0   2\r
+   1   0   1   0\r
+   1  -1  -1  11\r
+0  0 0\r
+   1 #STMT 3 at line no. 16 has 1 domain\r
+\r
+   # Domain 1\r
+   4 4\r
+   #   i   j   1\r
+   1   1   0   0\r
+   1  -1   0   2\r
+   1   0   1   0\r
+   1  -1  -1  11\r
+0 0 0\r
+   1 #STMT 4 at line no. 20 has 1 domain\r
+\r
+   # Domain 1\r
+   2 3\r
+   #   i   1\r
+   1   1   0\r
+   1  -1   2\r
+0 0 0\r
+   1 #STMT 1 at line no. 32 has 1 domain\r
+\r
+   # Domain 1\r
+   2 3\r
+   #   l   1\r
+   1   1   0\r
+   1  -1  14\r
+0 0 0\r
+   1 #STMT 2 at line no. 37 has 1 domain\r
+\r
+   # Domain 1\r
+   4 4\r
+   #   l   m   1\r
+   1   1   0   0\r
+   1  -1   0  14\r
+   1   0   1   0\r
+   1   0  -1   9\r
+0 0 0\r
+   1 #STMT 3 at line no. 41 has 1 domain\r
+\r
+   # Domain 1\r
+   2 3\r
+   #   l   1\r
+   1   1   0\r
+   1  -1  14\r
+0 0 0\r
+   1 # Set Iterator Names\r
+   i   j       #Iterator Names\r
+\r
+#---------------------SCATTERING FUNCTIONS--------------------\r
+   7 #Scattering functions\r
+\r
+# Scattering Matrix for stmt at line no.12\r
+   3 6\r
+   #  p0  p1  p2   i   1\r
+   0   1   0   0   0   0\r
+   0   0   1   0  -3   0\r
+   0   0   0   1   0   0\r
+\r
+# Scattering Matrix for stmt at line no.15\r
+   3 7\r
+   #  p0  p1  p2   i   j   1\r
+   0   1   0   0   0   0   0\r
+   0   0   1   0  -3   0  -1\r
+   0   0   0   1   0  -2   0\r
+\r
+# Scattering Matrix for stmt at line no.16\r
+   3 7\r
+   #  p0  p1  p2   i   j   1\r
+   0   1   0   0   0   0   0\r
+   0   0   1   0  -3   0  -1\r
+   0   0   0   1   0  -2  -1\r
+\r
+# Scattering Matrix for stmt at line no.20\r
+   3 6\r
+   #  p0  p1  p2   i   1\r
+   0   1   0   0   0   0\r
+   0   0   1   0  -3  -2\r
+   0   0   0   1   0   0\r
+\r
+# Scattering Matrix for stmt at line no.32\r
+   3 6\r
+   #  p0  p1  p2   l   1\r
+   0   1   0   0   0  -2\r
+   0   0   1   0  -3   0\r
+   0   0   0   1   0   0\r
+\r
+# Scattering Matrix for stmt at line no.37\r
+   3 7\r
+   #  p0  p1  p2   l   m   1\r
+   0   1   0   0   0   0  -2\r
+   0   0   1   0  -3   0  -1\r
+   0   0   0   1   0  -1   0\r
+\r
+# Scattering Matrix for stmt at line no.41\r
+   3 6\r
+   #  p0  p1  p2   l   1\r
+   0   1   0   0   0  -2\r
+   0   0   1   0  -3  -2\r
+   0   0   0   1   0   0\r
+\r
+   1 # Set manually the scattering dimension names\r
+  p0  p1  p2   #Scattering dimension names\r
diff --git a/test/overlap.cloog b/test/overlap.cloog
new file mode 100644 (file)
index 0000000..4c1f717
--- /dev/null
@@ -0,0 +1,35 @@
+# language: C
+c
+
+# parameter {n d | n >= 0 d >= 0}
+2 4
+#  n  d  1
+1  1  0  0
+1  0  1  0
+1
+n d
+
+2 # Number of statements:
+
+1
+# {i, j | n<=i<=2*n n<=j<=2*n}
+4 6
+#   i   j   n   d   1
+1   1   0  -1   0   0
+1  -1   0   2   0   0
+1   0   1  -1   0   0
+1   0  -1   2   0   0
+0   0   0
+
+1
+# {i, j | n+d<=i<=2*n+d n+d<=j<=2*n+d}
+4 6
+#   i   j   n   d   1
+1   1   0  -1  -1   0
+1  -1   0   2   1   0
+1   0   1  -1  -1   0
+1   0  -1   2   1   0
+0   0   0
+0
+
+0 # Scattering functions
diff --git a/test/published/CC2003/esced.cloog b/test/published/CC2003/esced.cloog
new file mode 100644 (file)
index 0000000..9caba01
--- /dev/null
@@ -0,0 +1,30 @@
+# language: C
+c
+
+# parameters {n, m | n<=m}
+1 4
+#1  1 -1  0
+1  0  0  1
+1
+n m
+
+2 # Number of statements
+
+1
+# {i | 1<=i<=n}
+2 5
+1  1  0  0 -1
+1 -1  0  1  0
+0 0 0
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0 0 0
+0
+
+0 # Scattering functions
diff --git a/test/published/CC2006/QR.cloog b/test/published/CC2006/QR.cloog
new file mode 100644 (file)
index 0000000..db11b9a
--- /dev/null
@@ -0,0 +1,229 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+10
+
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    0    1   -1
+    1   -1    1    0    0    0
+    1    0   -1    1    0   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    0    1   -1
+    1   -1    1    0    0    0
+    1    0   -1    1    0   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 }
+
+    4 6
+    1    1    0    0    0    0
+    1   -1    1    0    0   -1
+    1    0   -1    0    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    6 7
+    1    1    0    0    0    0    0
+    1   -1    1    0    0    0   -1
+    1    0   -1    0    0    1   -1
+    1   -1    0    1    0    0    0
+    1    0    0   -1    1    0   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 }
+
+    4 6
+    1    1    0    0    0    0
+    1   -1    1    0    0   -1
+    1    0   -1    0    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    6 7
+    1    1    0    0    0    0    0
+    1   -1    1    0    0    0   -1
+    1    0   -1    0    0    1   -1
+    1   -1    0    1    0    0    0
+    1    0    0   -1    1    0   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+10
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0   -2
+    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0   -3
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0   -4
+    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0   -5
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -4    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0    0   -5
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -4    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0   -5
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -4    0    0   -2
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0    0    0   -5
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -4    0    0    0   -3
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0   -3
+    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+0
+
diff --git a/test/published/CC2006/classen2.cloog b/test/published/CC2006/classen2.cloog
new file mode 100644 (file)
index 0000000..59473b1
--- /dev/null
@@ -0,0 +1,226 @@
+# created: Fri Mar  4 11:37:56 CET 2005
+# ---------------------- CONTEXT ----------------------
+c # language is C
+
+1 # Context
+1 3
+ 1 1 -10
+
+
+1 # set parameter names
+m
+
+# --------------------- STATEMENTS --------------------
+8
+
+# 1 computation stmts:
+1 # one domain per statement
+6 7
+ 1 0 0 -1 0 1 0
+ 1 0 0 1 0 0 -1
+ 1 0 0 0 -1 1 0
+ 1 0 0 0 1 0 -1
+ 0 0 -1 0 1 0 0
+ 0 -1 0 1 1 0 -2
+0 0 0 # for future options...
+
+
+# 3 prepare-send stmts:
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 0
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 0
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -2
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -4
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -2
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+# 3 prepare-receive stmts:
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 0
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 0
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -3
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -2
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -1
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+1 # one domain per statement
+12 11
+ 1 -1 0 0 0 0 0 0 0 2 -4
+ 1 1 0 0 0 0 0 0 0 0 0
+ 1 1 -1 0 0 0 0 0 0 0 1
+ 1 0 -1 0 0 0 0 0 0 1 -1
+ 1 -1 1 0 0 0 0 0 0 1 -3
+ 1 0 1 0 0 0 0 0 0 0 -1
+ 0 0 0 0 -1 0 0 0 1 0 0
+ 0 0 0 -1 0 0 0 1 1 0 -2
+ 0 0 -1 0 0 0 1 0 0 0 0
+ 0 -1 0 0 0 1 1 0 0 0 -2
+ 0 -1 0 1 0 0 0 0 0 0 -2
+ 0 0 -1 0 1 0 0 0 0 0 -1
+0 0 0 # for future options...
+
+
+# communication statement:
+1 # number of domains for communication statement
+6 5
+ 1 -1 0 2 -2
+ 1 1 0 0 0
+ 1 1 -1 0 1
+ 1 0 -1 1 0
+ 1 -1 1 1 -2
+ 1 0 1 0 -1
+
+
+0 0 0 # for future options...
+
+0
+#1 # set the iterator names
+#coordT1 coordP1 other1 other2 other3 other4 other5 other6
+
+# --------------------- SCATTERING --------------------
+8 # Scattering functions
+7 14
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 -1
+ 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 -2
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 18
+ 0 1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0 0 -1 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 -1
+
+7 12
+ 0 1 0 0 0 0 0 0 -1 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 -1
+ 0 0 0 1 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0 0 0
+ 0 0 0 0 0 0 0 1 0 0 0 0
+
+0
+#1 # we set the scattering dimension names
+#glT1 bl rp1 stmtType local1 local2 local3
+
diff --git a/test/published/CC2006/dreamupT3.cloog b/test/published/CC2006/dreamupT3.cloog
new file mode 100644 (file)
index 0000000..0c923bd
--- /dev/null
@@ -0,0 +1,58 @@
+# language: C\r
+c\r
+\r
+# parameter: none \r
+1 2\r
+#  1\r
+1  0   # 0 >= 0\r
+\r
+0\r
+\r
+3 # Number of statements\r
+\r
+1 # S1 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c1   c2    1\r
+1   1    0    0                # c1 >= 0\r
+1  -1    0   31                # c1 <= 31\r
+1   0    1    0                # c2 >= 0\r
+1   0   -1  511                # c2 <= 511\r
+0   0    0             # for future options\r
+\r
+1 # S2 : One domain\r
+2 3 # 2 lines and 3 columns\r
+#  c3    1\r
+1   1    0             # c3 >= 0\r
+1  -1  127             # c3 <= 127\r
+0   0    0             # for future options\r
+\r
+1 # S3 : One domain\r
+4 4 # 4 lines and 4 columns\r
+#  c4   c5    1\r
+1   1    0    0                # c4 >= 0\r
+1  -1    0  126                # c4 <= 126\r
+1   0    1    0                # c5 >= 0\r
+1   0   -1  127                # c5 <= 127\r
+0   0    0             # for future options\r
+\r
+\r
+1 # set manually the iterator names\r
+c1 c2 c3 c4 c5\r
+\r
+3 # Scattering functions\r
+\r
+1 5\r
+#   d   c1   c2   1\r
+0    1 -1536  -3   0   # d = 1536*c1 + 3*c2\r
+\r
+1 4\r
+#   d   c3      1\r
+0    1 -384   -1534    # d = 384*c3 + 1534\r
+\r
+1 5\r
+#   d   c4   c5      1\r
+0   1   -384  -3   -1919       # d = 384*c4 + 3*c5 + 1919\r
+\r
+\r
+1 # set manually the scattering dimension names\r
+d\r
diff --git a/test/published/CC2006/swim.B.MAIN__.scop7.cloog b/test/published/CC2006/swim.B.MAIN__.scop7.cloog
new file mode 100755 (executable)
index 0000000..1ca00c9
--- /dev/null
@@ -0,0 +1,5369 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+11   7     # 1 lines, 7 columns
+1    1    0    0    0    0    -9   
+1    0    1    0    0    0    -9   
+1    0    0    1    0    0    -500 
+1    0    0    0    1    0    -500 
+1    0    0    0    1    -1   0    
+1    0    0    1    0    -1   0    
+1    0    0    0    0    1    -500 
+1    -1   1    0    0    0    0    
+1    1    -1   0    0    0    0    
+1    0    0    1    -1   0    0    
+1    0    0    -1   1    0    0    
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+199 # Number of statements
+
+1 # Statement has 1 domain
+1    7    
+1    -1   0    0    0    0    1    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+199 # Number of scattering functions
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -11   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -19   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -20   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -21   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -22   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -23   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -24   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -31   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -32   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -33   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -34   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -35   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -36   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -37   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -38   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -39   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -40   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -41   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -43   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -44   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -45   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -49   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -52   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -53   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -54   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -55   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -56   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -57   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -59   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -60   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -60   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -7    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -8    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -9    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -10   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -6    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -7    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
+
diff --git a/test/published/PACT2004/youcefn.cloog b/test/published/PACT2004/youcefn.cloog
new file mode 100644 (file)
index 0000000..3b7c0e1
--- /dev/null
@@ -0,0 +1,49 @@
+# Optimal code is in fact :
+# 
+# for (i=0;i<=M;i++) {
+#   S1 ;
+#   for (j=0;j<=N;j++) {
+#     S2 ;
+#   }
+#   S3 ;
+# }
+
+# language: C
+c
+
+# parameters {n, m | n>=2 m>=n}
+2  4
+1  1  0 -2
+1 -1  1  0
+1
+n m
+
+3 # Number of statements
+
+1
+# {i | 0<=i<=n i==j}
+3 6
+1  1  0  0  0 -1
+1 -1  0  1  0  0
+0  1 -1  0  0  0
+0  0  0
+
+1
+# {i | 0<=i<=n i<=j<=n}
+4 6
+1  1  0  0  0 -1
+1 -1  0  1  0  0
+1 -1  1  0  0  0
+1  0 -1  1  0  0
+0  0  0
+
+1
+# {i | 0<=i<=m j==n}
+3 6
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+0  0  1 -1  0  0
+0  0  0
+0
+0 # Scattering functions
diff --git a/test/published/Web/web1.cloog b/test/published/Web/web1.cloog
new file mode 100644 (file)
index 0000000..060a059
--- /dev/null
@@ -0,0 +1,81 @@
+# CLooG example file #1.
+# Please read this example carefully to understand how the input file is made.
+# Do not worry, it is quite easy !
+#
+################################################################################
+# The problem here is to generate the scanning code for the integral points    #
+# inside a 2-dimensional polyhedron (geometrically a square).                  #
+#                                      |                                       #
+#             j^                       |                                       #
+#              | i>=2                  |                                       #
+#              | |   i<=n              |                                       #
+#              | |   |                 |                                       #
+#            n-+-*****--j<=n           |       for (i=2;i<=n;i++) {            #
+#              | *****                 |         for (j=2;j<=n;j++) {          #
+#              | *****                ==>           S1 ;                       #
+#              | *****                 |         }                             #
+#            2-+-*****--j>=2           |       }                               #
+#              | |   |                 |                                       #
+#            0-+-+---+--->i            |                                       #
+#              | |   |                 |                                       #
+#              0 2   n                 |                                       #
+#                                      |                                       #
+#            Context : n>=2            |                                       #
+#            System  : 2<=i<=n         |                                       #
+#                      2<=j<=m         |                                       #
+#                                      |                                       #
+################################################################################
+#
+# Comments begin with a # and finish with the line.
+# Typically, a ClooG input file has 7 points:
+
+# 1. First we need to set the output language, here: C. You can also prefer to
+#    set f for FORTRAN.
+c
+
+# 2. Second, we have to give the constraints on parameters (i.e. unknown values
+#    that are constant during scanning) here {n | n>=2}. The constraints are
+#    described using a matrix. First we give the row and column numbers. Then
+#    we give the constraints themselves. The first number is 0 if the constraint
+#    is an equality =0, it is 1 if the constraint is an inequality >=0. The
+#    other entries are the coefficients of the parameters and then the scalar.
+1 3     # 1 row, 3 columns
+#  n  1
+1  1 -2 # this means 1*n + -2*1 >= 0, i.e. n>=2
+
+# 3. Third, let us set the parameter names. We just put 0 if we want to let
+#    CLooG decide names, 1 otherwise. If we put 1, at the next line we give the
+#    space-separated parameter list (here we set only n).
+1
+n
+
+# 4. Fourth we give the number of polyhedra to scan, here 1.
+1
+
+# 5. Fifth, we give the list of polyhedra. Each polyhedron is described using
+#    three parts:
+#    5.1 Each co-called polyhedron may be actually an union of disjoint
+#        polyhedra, so we begin with precising the number of disjoint polyhedra
+#        of the union (here 1, there is only one part).
+#    5.2 The constraint matrix, in the same way as in part 2. First column is
+#        the equality/inequality tag, then the variable coefficients, then the
+#        parameter coefficients, then the scalar. Here we want the following
+#        domain: {i, j | 2<=i<=n 2<=j<=n}.
+#    5.3 A line with three zeroes, this is historical.
+1                 # 1 the union has only one element
+4 5               # 4 rows, 5 columns
+#   i   j   n   1
+1   1   0   0  -2 #  i-2>=0, i.e. i>=2
+1  -1   0   1   0 # -i+n>=0, i.e. i<=n
+1   0   1   0  -2 #  j-2>=0, i.e. j>=2
+1   0  -1   1   0 # -j+n>=0, i.e. j<=n
+0   0   0         # 3 zeroes !
+
+# 6. Sixth, let us set the iterator names. We just put 0 if we want to let CLooG
+#    decide names, 1 otherwise. If we put 1, at the next line we give the
+#    space-separated iterator list (here we let CLooG do).
+0
+
+# 7. Seventh, let us define a scanning order. But let us study it later and just
+#    put 0: CLoog can scan the polyhedra in the way it wants !
+0
diff --git a/test/published/Web/web2.cloog b/test/published/Web/web2.cloog
new file mode 100644 (file)
index 0000000..7293f90
--- /dev/null
@@ -0,0 +1,85 @@
+# CLooG example file #2.
+# Please read the first example which is fully documented to understand the
+# six first parts of the input file. This example explains the seventh one.
+#
+################################################################################
+# The problem here is to impose a scanning order for the polyhedron of the     #
+# first example : the points are ordered by i+j values (a well known skewing). #
+#                      |                          |                            #
+#    j^                |   i^           i<=c1-2   |                            #
+#     | i>=2           |    |  c1>=4   / c1<=2*n  |                            #
+#     | |   i<=n       |    |   |     / | i>=c1-n |                            #
+#     | |   |          |    |   |    /  |/        |                            #
+#   n-+-*****--j<=n    |  n-+---+---*****--i<=n   | for (c1=4;c1<=2*n;c1++){   #
+#     | *****          |    |   |  *****|         |  for (i=max(c1-n,2);       #
+#     | *****         ==>   |   | ***** |        ==>      i<=min(c1-2,n);i++){ #
+#     | *****          |    |   |*****  |         |   j = c1-i ;               #
+#   2-+-*****--j>=2    |  2-+---*****---+--i>=2   |   S1 ;                     #
+#     | |   |          |    |  /|  /    |         |  }                         #
+#   0-+-+---+--->i     |  0-+---+-------+--->c1   | }                          #
+#     | |   |          |    |   |       |         |                            #
+#     0 2   n          |    0   4      2n         |                            #
+#                      |                          |                            #
+#   Context : n>=2     |  Scattering function:    |                            #
+#   System  : 2<=i<=n  |  c1=i+j                  |                            #
+#             2<=j<=m  |                          |                            #
+#                      |                          |                            #
+################################################################################
+#
+# 1. Language: C
+c
+
+# 2. Parameters {n | n>= 2}
+1 3
+#  n  1
+1  1 -2
+
+# 3. We set manually the parameter name: n
+1
+n
+
+# 4. Number of polyhedra:
+1
+
+# 5. The polyhedron description:
+1
+# {j, j | 2<=i<=n 2<=j<=n}
+4 5
+#   i   j   n   1
+1   1   0   0  -2 # i>=2
+1  -1   0   1   0 # i<=n
+1   0   1   0  -2 # j>=2
+1   0  -1   1   0 # j<=n
+0   0   0         # 3 zeroes !
+
+# 6. We let CLooG choose the iterator names
+0
+
+# 7. Seventh, we define the scanning order. In CLooG speaking, we talk about
+#    scattering functions (a shortcut for scheduling, allocation etc.). It may
+#    be useful to read the CLooG documentation about this point since it is
+#    not trivial if you are not comfortable with transformations in the polytope
+#    model. We describe them in three parts:
+#    7.1 The number of scattering functions. It must be either 0 (in this case
+#        there is no particular scanning order and CLooG will do what it wants)
+#        or the number of polyhedra (set in part 4.).
+#    7.2 The list of scattering functions. Each scattering function is a
+#        constraint matrix (as those that describe context or polyhedra) but
+#        made exclusively of equalities. They equate each new scattering
+#        dimension with an affine expression of the original polyhedron
+#        dimensions, the parameters and the scalar. CLooG will only respect the
+#        ordering given by the scattering dimensions. If there are several 
+#        scattering dimensions, CLooG will use the lexicographic ordering (the
+#        first dimension leads, then the second one and so on). Every scattering
+#        functions must have the same number of scattering dimensions.
+#        Here we have c1=i+j, a one-dimensional scattering. It means that the
+#        points of the original polyhedron with the same i+j value will be
+#        scanned during the same iteration of the outer loop.
+#    7.3 We set the scattering dimension names. We just put 0 if we want to let
+#        CLooG decide names, 1 otherwise. If we put 1, at the next line we give
+#        the space-separated parameter list.
+1   # One scattering function (since there is only one polyhedron)
+1 6 # The scattering function is a matrix of one row and six columns
+# c1   i   j   n   1
+0  1  -1  -1   0   0 # c1 = i+j
+0   # We let CLooG choose the scattering dimension names
diff --git a/test/published/Web/web3.cloog b/test/published/Web/web3.cloog
new file mode 100644 (file)
index 0000000..e719a5c
--- /dev/null
@@ -0,0 +1,73 @@
+# CLooG example file #3.
+# Please read the first example which is fully documented to understand the
+# different parts of this input file.
+#
+################################################################################
+# The problem here is to generate the scanning code for the integral points    #
+# inside two different 2-dimensional polyhedra (geometrically two rectangles). #
+#                                      |                                       #
+#                j^                    |                                       #
+#                 | (P1)i>=2           |        for (i=2;i<=p-1;i++)           #
+#  Context:       | | (P2)i>=m         |        | for (j=2;j<=n;j++)           #
+#  m>n>p>2        | | | (P1)i<=n       |        | | S1 ;                       #
+#                 | | | | (P2)i<=p     |                                       #
+#  P1 System:     | | | | |            |        for (i=p;i<=n;i++)             #
+#  2<=i<=n      m-+-+-@@@@@--(P2)j<=p  |        | for (j=2;j<=p-1;j++)         #
+#  2<=j<=n        | | @@@@@           ==>       | | S1 ;                       #
+#               n-+-**###@@--(P1)j<=n  |        | for (j=p;j<=n;j++)           #
+#  P2 System:     | **###@@            |        | | S1 ;                       #
+#  p<=i<=m      p-+-**###@@--(P2)j>=m  |        | | S2 ;                       #
+#  p<=j<=m        | ***** |            |        | for (j=n+1;j<=m;j++)         #
+#               2-+-*****-+--(P1)j>=2  |        | | S2 ;                       #
+#  *:P1 alone     | | | | |            |                                       #
+#  @:P2 alone   0-+-+-+-+-+-->i        |        for (i=n+1;i<=m;i++)           #
+#  #:P1 and P2    | | | | |            |        | for (j=p;j<=m;j++)           #
+#                 0 2 p n m            |        | | S2 ;                       #
+#                                      |                                       #
+################################################################################
+
+# 1. Language: C
+c
+
+# 2. Parameters {m,n,p | m>n>p>2}
+3 5           # 3 rows and 5 columns
+#  m  n  p  1
+1  0  0  1 -3 # p>=3   (i.e. p>2)
+1  0  1 -1 -1 # n>=p+1 (i.e. n>p)
+1  1 -1  0 -1 # m>=n+1 (i.e. m>n)
+
+# 3. We set manually the parameter name: m, n and p
+1
+m n p
+
+# 4. Number of polyhedra:
+2
+
+# 5. The polyhedron description:
+#    - the first one
+1
+# {i, j | 2<=i<=n 2<=j<=n}
+4 7                       # 4 rows, 7 columns
+#   i   j   m   n   p   1
+1   1   0   0   0   0  -2 # i>=2
+1  -1   0   0   1   0   0 # i<=n
+1   0   1   0   0   0  -2 # j>=2
+1   0  -1   0   1   0   0 # j<=n
+0   0   0                 # 3 zeroes !
+
+#    - the second one
+1
+# {j, j | p<=i<=m p<=j<=m}
+4 7                       # 4 rows, 7 columns
+#   i   j   m   n   p   1
+1   1   0   0   0  -1   0 # i>=p
+1  -1   0   1   0   0   0 # i<=m
+1   0   1   0   0  -1   0 # j>=p
+1   0  -1   1   0   0   0 # j<=m
+0   0   0                 # 3 zeroes !
+
+# 6. We let CLooG choose the iterator names
+0
+
+# 7. Let CLoog scan the polyhedra in the way it wants.
+0
diff --git a/test/published/Web/web4.cloog b/test/published/Web/web4.cloog
new file mode 100644 (file)
index 0000000..cf71f20
--- /dev/null
@@ -0,0 +1,62 @@
+# CLooG example file #4.
+# Please read the first example which is fully documented to understand the
+# different parts of this input file.
+#
+################################################################################
+# The problem here is to scan a single non-rectangular polyhedron.             #
+#                                      |                                       #
+#          j^ i>=2                     |                                       #
+#           | | j<=n+2-i               |                                       #
+#           | |\     | i<=n            |                                       #
+#           | | \    |                 |                                       #
+#         m-+-****---+-j<=m            |   for (i=2;i<=n;i++) {                #
+#           | *****  |                 |     for (j=2;j<=min(m,-i+n+2);j++) {  #
+#           | ****** |                ==>      S1 ;                            #
+#           | *******|                 |     }                                 #
+#         2-+-********-j>=2            |   }                                   #
+#           | |      |\                |                                       #
+#         0-+-+------+--->i            |                                       #
+#           | |      |                 |                                       #
+#           0 2      n                 |                                       #
+#         Context : n>=2               |                                       #
+#                   m>=2               |                                       #
+#         System  : 2<=i<=n            |                                       #
+#                   2<=j<=m            |                                       #
+#                   j<=n+2-i           |                                       #
+#                                      |                                       #
+################################################################################
+#
+# 1. Language: C
+c
+
+# 2. Parameters {n,m | n>=2 m>=2}
+2 4        # 2 rows ans 4 columns
+#  m  n  1
+1  1  0 -2 # m>=2
+1  0  1 -2 # n>=2
+
+# 3. We set manually the parameter name: m, n
+1
+m n
+
+# 4. Number of polyhedra:
+1
+
+# 5. The polyhedron description:
+1
+# {i, j | 2<=i<=n 2<=j<=m n+2-i-j>=0}
+5 6                   # 5 rows and 6 columns
+#   i   j   m   n   1
+1   1   0   0   0  -2 # i>=2
+1  -1   0   0   1   0 # i<=n
+1   0   1   0   0  -2 # j>=2
+1   0  -1   1   0   0 # j<=m
+1  -1  -1   0   1   2 # j<=n+2-i
+0   0   0             # 3 zeroes !
+
+# 6. We set manually the iterator names: i, j
+1
+i j
+
+# 7. Let CLoog scan the polyhedron in the way it wants.
+0
diff --git a/test/published/Web/web5.cloog b/test/published/Web/web5.cloog
new file mode 100644 (file)
index 0000000..381339b
--- /dev/null
@@ -0,0 +1,261 @@
+# CLooG example file #5.
+# Please read the first and second examples which are fully documented to
+# understand the different parts of the input file.
+#
+################################################################################
+#  do i=1,n                            The problem here is to regenerate a     #
+#  | do j =1,i-1                       real-life Cholesau kernel according to  #
+#  | | if (j.EQ.1) then                the original scheduling (see the user's #
+#S1| | | s1(i,j)=a(i,j)s4(j,i)**2      manual for more details). The original  #
+#  | | else                            program is given on the left. For each  #
+#S2| | | s1(i,j)=s1(i,j-1)-s4(j,i)**2  statement the original schedule is:     #
+#  | if (i .EQ. 1) then                        T_S1(i,j)  =(i,0,j,0,0,0)       #
+#S3| | s2(i)=sqrt(a(i,i))                      T_S2(i,j)  =(i,0,j,1,0,0)       #
+#  | else                                      T_S3(i)    =(i,1,0,0,0,0)       #
+#S4| | s2(i)=sqrt (s1(i,i-1))                  T_S4(i)    =(i,2,0,0,0,0)       #
+#  | do k=i+1,n                                T_S5(i,j,k)=(i,3,j,0,k,0)       #
+#  | | do l=1,i-1                              T_S6(i,j,k)=(i,3,j,0,k,1)       #
+#  | | | if (l .EQ. 1) then                    T_S7(i,j)  =(i,3,j,1,0,0)       #
+#S5| | | | s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i))  T_S8(i,j)  =(i,3,j,2,0,0)       #
+#  | | | else                                                                  #
+#S6| | | | s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i))                             #
+#  | | if (i .EQ.1) then                                                       #
+#S7| | | s4(i,k)=a(k,i)/s2(i)          Note that in the generated code there   #
+#  | | else                            are no more conditions.                 #
+#S8| | | s4(i,k)=s3(i,k,i-1)/s2(i)                                             #
+################################################################################
+#
+#------------------------------------CONTEXT------------------------------------
+
+# 1. language: FORTRAN
+f
+
+# 2. Parameters {n | n>=10}
+1 3
+#  n  1
+1  1 -10 # n>=10
+
+# 3. We set manually the parameter name: n
+1
+n
+
+#-----------------------------------POLYHEDRA-----------------------------------
+
+# 4. Number of polyhedra:
+8
+
+# Polyhedron #1
+1
+# {i, j | 1<=i<=n; 1<=j<=i-1; j=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+0  0  1  0 -1 # j=1
+0  0  0       # 3 zeroes !
+
+# Polyhedron #2
+2
+# {i, j | 1<=i<=n; 1<=j<=i-1; j!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0  1  0 -2 # j>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0 -1  0  0 # j<=0
+0  0  0       # 3 zeroes !
+
+# Polyhedron #3
+1
+# {i | 1<=i<=n; i=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+0  1  0 -1 # i=1
+0  0  0    # 3 zeroes !
+
+# Polyhedron #4
+2
+# {i | 1<=i<=n; i!=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1  1  0 -2 # i>=2
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1 -1  0  0 # i<=0
+0  0  0    # 3 zeroes !
+
+# Polyhedron #5
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+0  0  0  1  0 -1 # k=1
+0  0  0          # 3 zeroes !
+
+# Polyhedron #6
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0  1  0 -2 # k>=2
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0 -1  0  0 # k<=0
+0  0  0          # 3 zeroes !
+
+# Polyhedron #7
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; i=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+0  1  0  0 -1 # i=1
+0  0  0       # 3 zeroes !
+
+# Polyhedron #8
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; i!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1  1  0  0 -2 # i>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1 -1  0  0  0 # i<=0
+0  0  0       # 3 zeroes !
+
+# 6. We let CLooG choose the iterator names
+0
+
+#----------------------------------SCATTERING-----------------------------------
+
+# 7. Scattering functions ORIGINAL SCHEDULING
+8
+
+# Scattering function for polyhedron #1: T_S1(i,j)  =(i,0,j,0,0,0)
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #2: T_S2(i,j)  =(i,0,j,1,0,0)
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #3: T_S3(i)    =(i,1,0,0,0,0)
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0 # i
+0  0  1  0  0  0  0  0  0 -1 # 1
+0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 # 0
+
+# Scattering function for polyhedron #4: T_S4(i)    =(i,2,0,0,0,0)
+6 10
+# c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0 -1  0  0 # i
+0  0  1  0  0  0  0  0  0 -2 # 2
+0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 # 0
+
+# Scattering function for polyhedron #5: T_S5(i,j,k)=(i,3,j,0,k,0)
+6 12
+# c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+
+# Scattering function for polyhedron #6: T_S6(i,j,k)=(i,3,j,0,k,1)
+6 12
+# c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  1  0  0  0  0 -1 # 1
+
+# Scattering function for polyhedron #7: T_S7(i,j)  =(i,3,j,1,0,0)
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #8: T_S8(i,j)  =(i,3,j,2,0,0)
+6 11
+# c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  1  0  0  0  0  0 -2 # 2
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# We want to set manually the scattering dimension names.
+1
+c1 c2 c3 c4 c5 c6
diff --git a/test/published/Web/web6.cloog b/test/published/Web/web6.cloog
new file mode 100644 (file)
index 0000000..bd33077
--- /dev/null
@@ -0,0 +1,269 @@
+# CLooG example file #6.
+# Please read the first and second examples which are fully documented to
+# understand the different parts of the input file.
+#
+################################################################################
+#  do i=1,n                            The problem here is to generate the     #
+#  | do j =1,i-1                       transformation of a real-life Cholesau  #
+#  | | if (j.EQ.1) then                kernel according to the allocation      #
+#S1| | | s1(i,j)=a(i,j)s4(j,i)**2      functions given by a good automatic     #
+#  | | else                            parallelizer (e.g. PAF or LooPo). For   #
+#S2| | | s1(i,j)=s1(i,j-1)-s4(j,i)**2  each statement the new schedule is:     #
+#  | if (i .EQ. 1) then                        T_S1(i,j)  =(i+j-1,i,0,j,0,0,0) #
+#S3| | s2(i)=sqrt(a(i,i))                      T_S2(i,j)  =(i,    i,0,j,1,0,0  #
+#  | else                                      T_S3(i)    =(i-1,  i,1,0,0,0,0  #
+#S4| | s2(i)=sqrt (s1(i,i-1))                  T_S4(i)    =(0,    i,2,0,0,0,0) #
+#  | do k=i+1,n                                T_S5(i,j,k)=(j+k-1,i,3,j,0,k,0) #
+#  | | do l=1,i-1                              T_S6(i,j,k)=(k,    i,3,j,0,k,1) #
+#  | | | if (l .EQ. 1) then                    T_S7(i,j)  =(i+j,  i,3,j,1,0,0) #
+#S5| | | | s3(i,k,l)=a(k,i)-(s4(l,k)*s4(l,i))  T_S8(i,j)  =(j,    i,3,j,2,0,0) #
+#  | | | else                                                                  #
+#S6| | | | s3(i,k,l)=s3(i,k,l-1)-(s4(l,k)*s4(l,i))                             #
+#  | | if (i .EQ.1) then               In the generated code, every instances  #
+#S7| | | s4(i,k)=a(k,i)/s2(i)          with the same p value are executed on   #
+#  | | else                            processor number p (an allocation pb).  #
+#S8| | | s4(i,k)=s3(i,k,i-1)/s2(i)     For a better view, use -fsp 2 option.   #
+################################################################################
+#
+#------------------------------------CONTEXT------------------------------------
+
+# 1. language: FORTRAN
+f
+
+# 2. Parameters {n | n>=10}
+1 3
+#  n  1
+1  1 -10 # n>=10
+
+# 3. We set manually the parameter name: n
+1
+n
+
+#-----------------------------------POLYHEDRA-----------------------------------
+
+# 4. Number of polyhedra:
+8
+
+# Polyhedron #1
+1
+# {i, j | 1<=i<=n; 1<=j<=i-1; j=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+0  0  1  0 -1 # j=1
+0  0  0       # 3 zeroes !
+
+# Polyhedron #2
+2
+# {i, j | 1<=i<=n; 1<=j<=i-1; j!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0  1  0 -2 # j>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1  0  1  0 -1 # 1<=j
+1  1 -1  0 -1 # j<=i-1
+1  0 -1  0  0 # j<=0
+0  0  0       # 3 zeroes !
+
+# Polyhedron #3
+1
+# {i | 1<=i<=n; i=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+0  1  0 -1 # i=1
+0  0  0    # 3 zeroes !
+
+# Polyhedron #4
+2
+# {i | 1<=i<=n; i!=1}
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1  1  0 -2 # i>=2
+3 4
+#  i  n  1
+1  1  0 -1 # 1<=i
+1 -1  1  0 # i<=n
+1 -1  0  0 # i<=0
+0  0  0    # 3 zeroes !
+
+# Polyhedron #5
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+0  0  0  1  0 -1 # k=1
+0  0  0          # 3 zeroes !
+
+# Polyhedron #6
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; 1<=k<=i-1; k!=1}
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0  1  0 -2 # k>=2
+7 6
+#  i  j  k  n  1
+1  1  0  0  0 -1 # 1<=i
+1 -1  0  0  1  0 # i<=n
+1 -1  1  0  0 -1 # i+1<=j
+1  0 -1  0  1  0 # j<=n
+1  0  0  1  0 -1 # 1<=k
+1  1  0 -1  0 -1 # k<=i-1
+1  0  0 -1  0  0 # k<=0
+0  0  0          # 3 zeroes !
+
+# Polyhedron #7
+1
+# {i, j | 1<=i<=n; i+1<=j<=n; i=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+0  1  0  0 -1 # i=1
+0  0  0       # 3 zeroes !
+
+# Polyhedron #8
+2
+# {i, j | 1<=i<=n; i+1<=j<=n; i!=1}
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1  1  0  0 -2 # i>=2
+5 5
+#  i  j  n  1
+1  1  0  0 -1 # 1<=i
+1 -1  0  1  0 # i<=n
+1 -1  1  0 -1 # i+1<=j
+1  0 -1  1  0 # j<=n
+1 -1  0  0  0 # i<=0
+0  0  0       # 3 zeroes !
+
+# 6. We let CLooG choose the iterator names
+0
+
+#----------------------------------SCATTERING-----------------------------------
+
+# 7. Scattering functions ALLOCATION + ORIGINAL SCHEDULING
+8
+
+# Scattering function for polyhedron #1: T_S1(i,j)  =(i+j-1,i,0,j,0,0,0)
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1 -1  0  1 # ins1: i+j-1
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #2: T_S2(i,j)  =(i,i,0,j,1,0,0)
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1  0  0  0 # ins2: i
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 # 0
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #3: T_S3(i)    =(i-1,i,1,0,0,0,0)
+7 11
+#  p c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0  0 -1  0  1 # ins3: i-1
+0  0  1  0  0  0  0  0 -1  0  0 # i
+0  0  0  1  0  0  0  0  0  0 -1 # 1
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0 # 0
+
+# Scattering function for polyhedron #4: T_S4(i)    =(0,i,2,0,0,0,0)
+7 11
+#  p c1 c2 c3 c4 c5 c6  i  n  1
+0  1  0  0  0  0  0  0  0  0  0 # ins4: 0
+0  0  1  0  0  0  0  0 -1  0  0 # i
+0  0  0  1  0  0  0  0  0  0 -2 # 2
+0  0  0  0  1  0  0  0  0  0  0 # 0
+0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0 # 0
+
+# Scattering function for polyhedron #5: T_S5(i,j,k)=(j+k-1,i,3,j,0,k,0)
+7 13
+#  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0  0  0 -1 -1  0  1 # ins 5: j+k-1
+0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  0  1  0  0  0  0  0 # 0
+
+# Scattering function for polyhedron #6: T_S6(i,j,k)=(k,i,3,j,0,k,1)
+7 13
+#  p c1 c2 c3 c4 c5 c6  i  j  k  n  1
+0  1  0  0  0  0  0  0  0  0 -1  0  0 # ins 6: k
+0  0  1  0  0  0  0  0 -1  0  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0  0  0 # 0
+0  0  0  0  0  0  1  0  0  0 -1  0  0 # k
+0  0  0  0  0  0  0  1  0  0  0  0 -1 # 1
+
+# Scattering function for polyhedron #7: T_S7(i,j)  =(i+j,i,3,j,1,0,0)
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0 -1 -1  0  0 # ins 7: i+j
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -1 # 1
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# Scattering function for polyhedron #8: T_S8(i,j)  =(j,i,3,j,2,0,0)
+7 12
+#  p c1 c2 c3 c4 c5 c6  i  j  n  1
+0  1  0  0  0  0  0  0  0 -1  0  0 # ins 8: j
+0  0  1  0  0  0  0  0 -1  0  0  0 # i
+0  0  0  1  0  0  0  0  0  0  0 -3 # 3
+0  0  0  0  1  0  0  0  0 -1  0  0 # j
+0  0  0  0  0  1  0  0  0  0  0 -2 # 2
+0  0  0  0  0  0  1  0  0  0  0  0 # 0
+0  0  0  0  0  0  0  1  0  0  0  0 # 0
+
+# We want to set manually the scattering dimension names.
+1
+p c1 c2 c3 c4 c5 c6
diff --git a/test/published/Web/web7.cloog b/test/published/Web/web7.cloog
new file mode 100644 (file)
index 0000000..29b860b
--- /dev/null
@@ -0,0 +1,30 @@
+# CLooG example file #7: A useful basis to start writing its own input file.
+# 1. Language: C
+c
+
+# 2. Parameters {M | M>=0}.
+1 3
+#  M  1
+1  1  0
+
+# 3. We let CLooG choose the parameter names.
+0
+
+# 4. Number of polyhedra:
+1
+
+# 5. Polyhedron #1 {i, j | 0<=i<=M 0<=j<=M}.
+1
+4 5
+#   i   j   M   1
+1   1   0   0   0
+1  -1   0   1   0
+1   0   1   0   0
+1   0  -1   1   0
+0   0   0
+
+# 6. We let CLooG choose the iterator names.
+0
+
+# 7. Let CLoog scan the polyhedra in the way it wants.
+0
diff --git a/test/quillere.cloog b/test/quillere.cloog
new file mode 100644 (file)
index 0000000..5187ddc
--- /dev/null
@@ -0,0 +1,35 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+3 4
+#   n   m   1
+1   1   0  -4
+1   0   1  -4
+1   1  -1   0
+1
+n m
+
+2 # Number of statements:
+
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+#   i   j   n   m   1
+1   1   0   0   0  -1
+1  -1   0   1   0   0
+1   0   1   0   0  -1
+1   0  -1   0   1   0
+0   0   0
+
+1
+# {i, j | i=j 3<=j<=n}
+3 6
+#   i   j   n   m   1
+0   1  -1   0   0   0
+1   0   1   0   0  -3
+1   0  -1   1   0   0
+0   0   0
+0
+
+0 # Scattering functions
diff --git a/test/rational.cloog b/test/rational.cloog
new file mode 100644 (file)
index 0000000..8c163e3
--- /dev/null
@@ -0,0 +1,23 @@
+# language: C
+c
+
+# parameter {}
+0 2
+0
+
+1 # Number of statements:
+
+1
+# {i, j | }
+5 5
+#   j   q   i   1
+0   1  -1   0  -3
+1   0  -5   1  -1
+1   0   5  -1   4
+1   0   0   1   0
+1   0   0  -1   8
+0   0   0
+1
+j q i
+
+0 # Scattering functions
diff --git a/test/readme.cloog b/test/readme.cloog
new file mode 100644 (file)
index 0000000..0c581c4
--- /dev/null
@@ -0,0 +1,27 @@
+# language: C
+c
+
+# parameter {n | n>=2} {m | m>=2}
+2 4
+#  m  n  1
+1  1  0 -2
+1  0  1 -2
+1 # We set manually the parameter names: m, n
+m n
+
+1 # Number of statements:
+
+1
+# {i, j | 2<=i<=n 2<=j<=m n+2-i-j>=0}
+5 6
+#   i   j   m   n   1
+1   1   0   0   0  -2
+1  -1   0   0   1   0
+1   0   1   0   0  -2
+1   0  -1   1   0   0
+1  -1  -1   0   1   2
+0   0   0
+1 # We set manually the iterator names: i, j
+i j
+
+0 # No scattering functions
diff --git a/test/rectangle.c.polylib b/test/rectangle.c.polylib
new file mode 100644 (file)
index 0000000..d3348bc
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated by CLooG v0.10.7 */
+for (c1=0;c1<=2*n;c1++) {
+  for (i=max(c1-n,0);i<=min(c1,n);i++) {
+    j = c1-i ;
+    S1 ;
+  }
+}
diff --git a/test/rectangle.c.ppl b/test/rectangle.c.ppl
new file mode 100644 (file)
index 0000000..27026c9
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from ./rectangle.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c1=0;c1<=2*n;c1++) {
+  for (i=max(c1-n,0);i<=min(c1,n);i++) {
+    j = c1-i ;
+    S1 ;
+  }
+}
diff --git a/test/rectangle.cloog b/test/rectangle.cloog
new file mode 100644 (file)
index 0000000..9f639ab
--- /dev/null
@@ -0,0 +1,29 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+1 3
+#  n  1
+1  1  0
+1
+n
+
+1 # Number of statements:
+
+1
+# {ii, i | 0<=i<=n 0<=j<=n}
+4 5
+#   i   j   n   1
+1   1   0   0   0
+1  -1   0   1   0
+1   0   1   0   0
+1   0  -1   1   0
+0   0   0
+0
+
+1 # Scattering functions
+
+1 6
+# c1   j   i   n   1
+0  1  -1  -1   0   0
+0
diff --git a/test/reports/fabrice_baray_29-10-2004 b/test/reports/fabrice_baray_29-10-2004
new file mode 100644 (file)
index 0000000..c561402
--- /dev/null
@@ -0,0 +1,99 @@
+salut,
+
+je testais ta librairie cloog et je suis tombé sur un point qui m'a fait
+perdre un peu de temps, je pense que si ce n'est pas le cas, Ã§a serait pas
+mal de le préciser dans la doc pour Ã©viter des déboires. je te passe les
+détails du pourquoi, en fait je suis tombé sur un core dont voici la trace
+d'appels :
+
+
+#0  0x1b907460 in _vgi__soname$3Alibc$2Eso$2E6$3Afree (p=0x0) at vg_replace_malloc.c:153
+#1  0x1bb1e2f2 in cloog_statement_free (statement=0x1bb58d30) at source/statement.c:118
+#2  0x1bb19390 in cloog_loop_free_parts (loop=0x1bb66280, domain=1, statement=1, inner=0, next=0) at source/loop.c:170
+#3  0x1bb1aba5 in cloog_loop_simplify (loop=0x1bb66280, context=0x1bb662c8, level=3, nb_par=0) at source/loop.c:1096
+#4  0x1bb1a9c7 in cloog_loop_simplify (loop=0x1bb66530, context=0x1bb68820, level=2, nb_par=0) at source/loop.c:1040
+#5  0x1bb1a9c7 in cloog_loop_simplify (loop=0x1bb68a60, context=0x1bb58b98, level=1, nb_par=0) at source/loop.c:1040
+#6  0x1bb18e32 in cloog_program_generate (program=0x1bb57cc8, options=0x1bb57c68) at source/program.c:712
+
+
+en fait il s'agit du ``nom'' des statements : le champ loop->statement->body.
+et bien pour que ta librairie marche, il faut qu'il soit initialisé et
+désallouable par un free. ce ne peut Ãªtre un champ statique style
+"statement" comme je l'avais mis au début. c'est un détail mais qui peut
+être piégeur.
+
+point différent : le champ 'name' des options, il semble important de le
+définir avant de faire un print, mais celui là pas forcément avec un malloc
+car il n'est pas désalloué par un quelconque free de cloog_options_free.
+
+ces petits détails pris en compte, Ã§a Ã  l'air de mieux marcher.
+a+
+,fb
+
+
+----------------------------------------------------------------------------
+>Salut Fabrice,
+>> il faut que tu arrêtes d'allonger ma pile de choses Ã  m'occuper 
+>> 'rapidement' sinon j'en ai pour jusqu'en 2006 !
+
+
+allez, une dernière, pareil c'est pas urgent, stocke, j'ai pas besoin de
+réponse pour l'instant. en fait lorsque tu as pas de paramètres Ã  ton
+problème, tu passes le polyhèdre :
+
+1 2
+1 1
+
+comme dans l'exemple ci-dessous :
+
+# ----------------------------------------------------------------------
+# language: C
+c
+
+# parameters {m, n | 4<=m<=n}
+1 2
+1 1
+0
+
+1 # Number of statements
+
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 4
+#  i  j  m  n  1
+1 1  0   5 
+1 -1  0   5 
+1 0  1   5 
+1 0 -1   5 
+0 0 0
+0
+
+0 # Scattering functions
+# ----------------------------------------------------------------------
+
+qui donne parfaitement : 
+
+/* Generated from a.cloog by CLooG v0.12.2 64 bits in 0.00s. */
+for (i=-5;i<=5;i++) {
+  for (j=-5;j<=5;j++) {
+    S1 ;
+  }
+}
+
+
+
+par contre, si je décide de lui passer Ã  la place :
+
+1 2
+0 1
+
+là il ne m'afficher plus de solution. c'est bizarre ou c'est normal ? 
+
+en fait le polyhèdre ci dessus est intéressant, car il correspond au
+polyhèdre retourné par la fonction Empty_Polyhedron de la polylib.
+
+cprog->context=Empty_Polyhedron(0);
+
+,fb
+
+
diff --git a/test/reports/kim_daegon_27-04-2005.eml b/test/reports/kim_daegon_27-04-2005.eml
new file mode 100644 (file)
index 0000000..b43a058
--- /dev/null
@@ -0,0 +1,17578 @@
+X-UIDL: 38762.1114626251
+X-Mozilla-Status: 0003
+X-Mozilla-Status2: 00000000
+Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1])
+       by relay-6m.club-internet.fr (Postfix) with ESMTP id DCFE125639
+       for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
+Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO8Nk002407
+          for <netced@club-internet.fr>; Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
+Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1])
+          by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j3RIO7C02410
+          for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:08 +0200 (MEST)
+Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.205])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j3RIO6e7001164
+          for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 20:24:06 +0200 (CEST)
+Received: by wproxy.gmail.com with SMTP id 68so387084wri
+        for <cedric.bastoul@prism.uvsq.fr>; Wed, 27 Apr 2005 11:24:00 -0700 (PDT)
+DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
+        s=beta; d=gmail.com;
+        h=received:message-id:date:from:reply-to:to:subject:cc:mime-version:content-type;
+        b=LoJNXKibxMTIYItkoT/Sqykpnxxkeik4zUmMeWoVeasUn+yIfBWhF0UkkR0kHBRIeOFOZ/As82OpJ6TQiYZxy/WwuxyQ2aameC9qouWqE6R/dFG1zSY5MilV5/9RLrfinOfdyAoCZ1XzM6VMGspBtK4l5NBZYpsFxJBnVJ5AeW0=
+Received: by 10.54.121.20 with SMTP id t20mr277933wrc;
+        Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
+Received: by 10.54.5.57 with HTTP; Wed, 27 Apr 2005 10:24:00 -0700 (PDT)
+Message-ID: <fc5f19de05042710245f9acadd@mail.gmail.com>
+Date: Wed, 27 Apr 2005 11:24:00 -0600
+From: DaeGon Kim <daegonk@gmail.com>
+Reply-To: DaeGon Kim <daegonk@gmail.com>
+To: cedric.bastoul@prism.uvsq.fr
+Subject: Question about Cloog
+Cc: svr@cs.colostate.edu
+Mime-Version: 1.0
+Content-Type: multipart/mixed; 
+       boundary="----=_Part_1422_26966204.1114622640387"
+X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:09 +0200 (CEST)
+X-Greylist: Delayed for 00:53:20 by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Wed, 27 Apr 2005 20:24:07 +0200 (CEST)
+X-Miltered: at soleil.uvsq.fr with ID 426FD8C9.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Miltered: at soleil.uvsq.fr with ID 426FD8C6.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+Status:   
+X-Mmail: \Recent                                 
+X-M-Uid: 38762.1114626251
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+Hello Dr Cedric Bastoul,
+
+I am a graduate student in CSU working with Dr. Sanjay Rajopadhye.
+I am working on experiments on code generation software.=20
+A few days ago I wrote three cloog input files: LUDom_cloog,
+OSP_cloog, and LUDom_OSP_cloog. The last file is nothing but
+concatenation of two previous files. So it has two statements since
+each of the first two has one statement each.
+
+When I generated, I got something strange:=20
+ - The numbers of visited points are different between the first two
+and the last one.
+ - The numbers of visited points become different, if I use different
+options: default and "-f 3".
+  - Domains of all statements are 3-dimensional, but there are
+statements having only two indices inside one if block. I added
+generated code below.
+
+Also, I attached my three inputs and C programs in which generated
+code from cloog can be executed. type1 files contain generated code
+without any options and type2 files contains generated code with -f 3
+option.
+
+/* Generated from LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
+for (I1=3D0;I1<=3D3*N1;I1++) {
+  for (I2=3Dmax(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=3DN1;I2++) {
+    for (I3=3Dmax(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=3Dmin(min(N1,floord(I1=
++2*I2-1,2)),I1-I2);I3++)
+{
+      J3 =3D I1-(I2)-(I3) ;
+      S1(J1 =3D I2,J2 =3D I3) ;
+    }
+    for (I3=3Dceild(I1+2*I2,2);I3<=3Dmin(min(N1,I1-2*I2-1),floord(2*I1+3*I2=
+,3));I3++)
+{
+      J3 =3D -I1-2*(I2)+2*I3 ;
+      S2(J1 =3D I2,J2 =3D I3) ;
+    }
+    for (I3=3Dmax(I1-2*I2,ceild(I1+2*I2,2));I3<=3Dmin(N1,floord(2*I1+I2-1,3=
+));I3++)
+{
+      J3 =3D -I1-2*(I2)+2*I3 ;
+      S2(J1 =3D I2,J2 =3D I3) ;
+      J3 =3D I1-(I2)-(I3) ;
+      S1(J1 =3D I2,J2 =3D I3) ;
+    }
+    if ((2*I1+I2)%3 =3D=3D 0) {
+      I3 =3D (2*I1+I2)/3 ;
+      J1 =3D -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 =3D=3D 0) {
+        J2 =3D (2*I1+J1)/3 ;
+        J3 =3D 3*I1-4*J2 ;
+        S1 ;
+        S2 ;
+      }
+    }
+    for (I3=3Dmax(I1-2*I2,ceild(2*I1+I2+1,3));I3<=3Dmin(min(N1,floord(2*I1+=
+3*I2,3)),I1-I2);I3++)
+{
+      J3 =3D I1-(I2)-(I3) ;
+      S1(J1 =3D I2,J2 =3D I3) ;
+      J3 =3D -I1-2*(I2)+2*I3 ;
+      S2(J1 =3D I2,J2 =3D I3) ;
+    }
+    for (I3=3Dmax(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=3Dmin(N1,I1-I2);I3++) {
+      J3 =3D I1-(I2)-(I3) ;
+      S1(J1 =3D I2,J2 =3D I3) ;
+    }
+    for (I3=3Dmax(ceild(I1+2*I2,2),I1-I2+1);I3<=3Dmin(floord(2*I1+3*I2,3),N=
+1);I3++)
+{
+      J3 =3D -I1-2*(I2)+2*I3 ;
+      S2(J1 =3D I2,J2 =3D I3) ;
+    }
+  }
+}
+
+
+Thank you for reading.
+
+--=20
+DaeGon Kim
+
+Graduate Student, Computer Science Department,
+Colorado State University, Fort Collins, CO
+Tel. Office: (1) 970 491 5937
+kim@cs.colostate.edu
+Personal Homepage : http://www.roadtohome.com/
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom_cloog
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom_cloog"
+
+###############################################################################
+#
+# Problem  : LU Decomposition
+# Date     : 2005. 4. 25
+# Author   : DaeGon Kim
+#
+###############################################################################
+
+### Context -------------------------------------------------------------------
+   c # language is c
+
+   1          # Context 
+   1 3           # 1 lines and 3 coloumns
+   #  N1   1
+   1   1  -2      # N > 1
+
+   1              # 1 - Specify the names of parameters 
+   N1             # parameter names
+   
+### ----------------------------------------------------------------------------
+
+### Statements -----------------------------------------------------------------
+   1                             # number of statements
+   # first statement
+   1
+   7    6
+   # Eq/In  J       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J 
+    1       0       0       1       0       0        # 0 <= K
+    1      -1       0       0       1       0        # I <= N1
+    1       0      -1       0       1       0        # J <= N1
+    1       1       0      -1       0       0        # K <= I
+    1       0       1      -1       0       0        # K <= J
+    0       0       0
+
+    1                          # Iterators
+    J1  J2  J3                 # iterator names
+    
+### ----------------------------------------------------------------------------
+
+
+### Scattering Functions -------------------------------------------------------
+
+    1   # Number of scattering functions
+    
+    3 9
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0  -1  -1  -1   0   0    # I1 = I+J+K 
+    0   0   1   0  -1   0   0   0   0    # I2 = I
+    0   0   0   1   0  -1   0   0   0    # I3 = J
+
+    
+    1          # Specify scattering dimension names
+    I1  I2  I3 # Scattering dimension names
+
+### ----------------------------------------------------------------------------
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=OSP_cloog
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="OSP_cloog"
+
+###############################################################################
+#
+# Problem  : Optimal String Parentheses 
+# Date     : 2005. 4. 25
+# Author   : DaeGon Kim
+#
+###############################################################################
+
+### Context -------------------------------------------------------------------
+    c           # language is c
+    1           # Context 
+    1 3                # 1 lines and 3 coloumns
+    #  N1   1
+    1   1  -2 
+
+    1           # We want to set manually the parameter names
+   N1           # parameter names
+   
+### ----------------------------------------------------------------------------
+
+### Statements -----------------------------------------------------------------
+   1                 # number of statements
+   # first statement
+   1
+   6    6
+   # Eq/In  I       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J
+    1       0       0       1       0       0        # 0 <= K
+    1       0      -1       0       1       0        # J <= N1
+    1      -1       1       0       0       0        # I <= J
+    1      -1       1      -2       0       0        # 2K <= J-I
+    0       0       0
+
+    1                # Iterators
+    J1  J2  J3       # Iterators name
+
+### ----------------------------------------------------------------------------
+
+    
+### Scattering Functions -------------------------------------------------------
+
+    1    # Number of scattering functions
+    
+    3 9
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0   2  -2   1   0   0     # I1 = -2I + 2J - K
+    0   0   1   0  -1   0   0   0   0     # I2 = I
+    0   0   0   1   0  -1   0   0   0     # I3 = J
+
+    
+    1           # Specify scattering dimension names
+    I1  I2  I3  # Scattering dimension names
+
+### ----------------------------------------------------------------------------
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom_OSP_cloog
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom_OSP_cloog"
+
+###############################################################################
+#
+# Problem  : LU Decomposition + 
+# Date     : 2005. 4. 25
+# Author   : DaeGon Kim
+#
+###############################################################################
+
+### Context -------------------------------------------------------------------
+   c # language is c
+
+   1          # Context
+   1 3            # 1 lines and 3 coloumns
+   #  N1   1
+   1   1  -2      # N > 1
+
+   1              # 1 - Specify the names of parameters
+   N1             # parameter names
+
+### ----------------------------------------------------------------------------
+
+### Statements -----------------------------------------------------------------
+   2                             # number of statements
+   # first statement
+   1
+   7    6
+   # Eq/In  J       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J
+    1       0       0       1       0       0        # 0 <= K
+    1      -1       0       0       1       0        # I <= N1
+    1       0      -1       0       1       0        # J <= N1
+    1       1       0      -1       0       0        # K <= I
+    1       0       1      -1       0       0        # K <= J
+    0       0       0
+   
+   # second statement
+   1
+   6    6
+   # Eq/In  I       J       K       N1      Constants
+    1       1       0       0       0       -1       # 1 <= I
+    1       0       1       0       0       -1       # 1 <= J
+    1       0       0       1       0       0        # 0 <= K
+    1       0      -1       0       1       0        # J <= N1
+    1      -1       1       0       0       0        # I <= J
+    1      -1       1      -2       0       0        # 2K <= J-I
+    0       0       0
+
+    1                # Iterators
+    J1  J2  J3       # Iterators name
+
+### ----------------------------------------------------------------------------
+
+    
+### Scattering Functions -------------------------------------------------------
+
+    2    # Number of scattering functions
+
+    # First statement
+    3 9 
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0  -1  -1  -1   0   0    # I1 = I+J+K
+    0   0   1   0  -1   0   0   0   0    # I2 = I
+    0   0   0   1   0  -1   0   0   0    # I3 = J
+
+    # Second statement
+    3 9
+    #   I1  I2  I3  I   J   K   N1  1
+    0   1   0   0   2  -2   1   0   0     # I1 = -2I + 2J - K
+    0   0   1   0  -1   0   0   0   0     # I2 = I
+    0   0   0   1   0  -1   0   0   0     # I3 = J
+
+
+    1          # Specify scattering dimension names
+    I1  I2  I3 # Scattering dimension names
+
+### ----------------------------------------------------------------------------
+
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom.type1.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom.type1.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:03:32 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
+for (I1=2;I1<=3*N1;I1++) {
+  for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom.type2.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom.type2.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:03:33 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/LUDom_cloog by CLooG v0.12.2 64 bits in 0.00s. */
+for (I1=2;I1<=3*N1;I1++) {
+  for (I2=max(ceild(I1-N1,2),1);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=OSP.type1.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="OSP.type1.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:04:18 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
+for (I1=0;I1<=2*N1-2;I1++) {
+  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S1++;
+    }
+  }
+}
+
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=OSP.type2.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="OSP.type2.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:04:19 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/OSP_cloog by CLooG v0.12.2 64 bits in 0.00s. */
+for (I1=0;I1<=2*N1-2;I1++) {
+  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S1++;
+    }
+  }
+}
+
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom_OSP.type1.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom_OSP.type1.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:28:05 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+    int S2 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.76s. */
+for (I1=0;I1<=1;I1++) {
+  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=2;I1<=min(3,floord(2*N1,3));I1++) {
+  for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if (N1 >= 6) {
+  J3 = 4-(I2)-(I3) ;
+  S1++;
+  J1 = -2*(4)+3*3 ;
+  if ((2*4+J1)%3 == 0) {
+    J2 = (2*4+J1)/3 ;
+    J3 = 3*4-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=2;I2<=3;I2++) {
+    for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
+      J3 = 4-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
+      J3 = -(4)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=4;I2<=N1-2;I2++) {
+    for (I3=ceild(4+2*I2,2);I3<=min(N1,floord(2*4+3*I2,3));I3++) {
+      J3 = -(4)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 5) && (N1 >= 5)) {
+  J3 = 4-(I2)-(I3) ;
+  S1++;
+  J1 = -2*(4)+3*3 ;
+  if ((2*4+J1)%3 == 0) {
+    J2 = (2*4+J1)/3 ;
+    J3 = 3*4-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=2;I2<=3;I2++) {
+    for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
+      J3 = 4-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
+      J3 = -(4)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=max(2,ceild(2*N1+1,3));I1<=min(3,floord(2*N1+2,3));I1++) {
+  for (I2=max(ceild(I1+1,4),1);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if (N1 >= 8) {
+  for (I3=2*1+1;I3<=3*1;I3++) {
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*5-1)%12 == 0) {
+    I3 = (9*5-1)/12 ;
+    J1 = -2*(5)+3*I3 ;
+    if ((2*5+J1)%3 == 0) {
+      J2 = (2*5+J1)/3 ;
+      J3 = 3*5-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*5+1)%4 == 0) {
+    I3 = (3*5+1)/4 ;
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+    J3 = -(5)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=4;I2++) {
+    for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
+      J3 = 5-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
+      J3 = -(5)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=5;I2<=floord(2*N1-5,2);I2++) {
+    for (I3=ceild(5+2*I2,2);I3<=min(N1,floord(2*5+3*I2,3));I3++) {
+      J3 = -(5)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 7) && (N1 >= 7)) {
+  for (I3=2*1+1;I3<=3*1;I3++) {
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*5-1)%12 == 0) {
+    I3 = (9*5-1)/12 ;
+    J1 = -2*(5)+3*I3 ;
+    if ((2*5+J1)%3 == 0) {
+      J2 = (2*5+J1)/3 ;
+      J3 = 3*5-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*5+1)%4 == 0) {
+    I3 = (3*5+1)/4 ;
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+    J3 = -(5)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=4;I2++) {
+    for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
+      J3 = 5-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
+      J3 = -(5)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=ceild(2*N1+3,3);I1<=min(floord(4*N1-2,3),3);I1++) {
+  for (I2=max(ceild(I1+1,4),I1-N1+1);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=I1-1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 4) && (N1 >= 4)) {
+  J3 = 4-(I2)-(I3) ;
+  S1++;
+  J1 = -2*(4)+3*3 ;
+  if ((2*4+J1)%3 == 0) {
+    J2 = (2*4+J1)/3 ;
+    J3 = 3*4-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=max(2,-N1+5);I2<=N1-2;I2++) {
+    for (I3=max(max(1,ceild(4-I2,2)),4-2*I2);I3<=4-I2;I3++) {
+      J3 = 4-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(4-I2+1,ceild(4+2*I2,2));I3<=min(N1,floord(2*4+3*I2,3));I3++) {
+      J3 = -(4)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(2*N1-3,2);I2<=3;I2++) {
+    for (I3=max(max(ceild(4-I2,2),4-2*I2),1);I3<=min(4-I2,N1);I3++) {
+      J3 = 4-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 9) {
+  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*6%18 == 0) {
+    I3 = 13*6/18 ;
+    J1 = -2*(6)+3*I3 ;
+    if ((2*6+J1)%3 == 0) {
+      J2 = (2*6+J1)/3 ;
+      J3 = 3*6-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5%4 == 0) {
+    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*6-1)%12 == 0) {
+      I3 = (9*6-1)/12 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*6+1)%4 == 0) {
+      I3 = (3*6+1)/4 ;
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*6%4 == 0) {
+      I3 = 3*6/4 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=5;I2++) {
+    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=6;I2<=N1-3;I2++) {
+    for (I3=ceild(6+2*I2,2);I3<=min(N1,floord(2*6+3*I2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 8) && (N1 >= 8)) {
+  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*6%18 == 0) {
+    I3 = 13*6/18 ;
+    J1 = -2*(6)+3*I3 ;
+    if ((2*6+J1)%3 == 0) {
+      J2 = (2*6+J1)/3 ;
+      J3 = 3*6-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5%4 == 0) {
+    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*6-1)%12 == 0) {
+      I3 = (9*6-1)/12 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*6+1)%4 == 0) {
+      I3 = (3*6+1)/4 ;
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*6%4 == 0) {
+      I3 = 3*6/4 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=5;I2++) {
+    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 3) && (N1 >= 3)) {
+  if ((4*N1-1)%3 == 0) {
+    I1 = (4*N1-1)/3 ;
+    for (I2=ceild(N1+2,3);I2<=floord(4*N1-4,3);I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 11) {
+  J1 = -2*(7)+3*5 ;
+  if ((2*7+J1)%3 == 0) {
+    J2 = (2*7+J1)/3 ;
+    J3 = 3*7-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I3=6;I3<=5;I3++) {
+    J3 = 7-(I2)-(I3) ;
+    S1++;
+    J3 = -(7)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  J3 = 7-(I2)-(I3) ;
+  S1++;
+  if (7%6 == 0) {
+    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*7%18 == 0) {
+      I3 = 13*7/18 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*7-1)%12 == 0) {
+      I3 = (9*7-1)/12 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*7+1)%4 == 0) {
+      I3 = (3*7+1)/4 ;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (7%4 == 0) {
+    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*7%4 == 0) {
+      I3 = 3*7/4 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=6;I2++) {
+    for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=7;I2<=floord(2*N1-7,2);I2++) {
+    for (I3=ceild(7+2*I2,2);I3<=min(N1,floord(2*7+3*I2,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 10) && (N1 >= 10)) {
+  J1 = -2*(7)+3*5 ;
+  if ((2*7+J1)%3 == 0) {
+    J2 = (2*7+J1)/3 ;
+    J3 = 3*7-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I3=6;I3<=5;I3++) {
+    J3 = 7-(I2)-(I3) ;
+    S1++;
+    J3 = -(7)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  J3 = 7-(I2)-(I3) ;
+  S1++;
+  if (7%6 == 0) {
+    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*7%18 == 0) {
+      I3 = 13*7/18 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*7-1)%12 == 0) {
+      I3 = (9*7-1)/12 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*7+1)%4 == 0) {
+      I3 = (3*7+1)/4 ;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (7%4 == 0) {
+    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*7%4 == 0) {
+      I3 = 3*7/4 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=6;I2++) {
+    for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 6) && (N1 >= 5)) {
+  for (I3=2*1+1;I3<=3*1;I3++) {
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*5-1)%12 == 0) {
+    I3 = (9*5-1)/12 ;
+    J1 = -2*(5)+3*I3 ;
+    if ((2*5+J1)%3 == 0) {
+      J2 = (2*5+J1)/3 ;
+      J3 = 3*5-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*5+1)%4 == 0) {
+    I3 = (3*5+1)/4 ;
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+    J3 = -(5)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=max(2,-N1+6);I2<=floord(2*N1-5,2);I2++) {
+    for (I3=max(max(1,ceild(5-I2,2)),5-2*I2);I3<=5-I2;I3++) {
+      J3 = 5-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(5-I2+1,ceild(5+2*I2,2));I3<=min(N1,floord(2*5+3*I2,3));I3++) {
+      J3 = -(5)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=N1-2;I2<=4;I2++) {
+    for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) {
+      J3 = 5-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 4) {
+  for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
+    J3 = 5-(I2)-(I3) ;
+    S1++;
+  }
+  if (-1%3 == 0) {
+    I3 = (3*N1-1)/3 ;
+    J1 = -2*(5)+3*I3 ;
+    if ((2*5+J1)%3 == 0) {
+      J2 = (2*5+J1)/3 ;
+      J3 = 3*5-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  J3 = 5-(I2)-(I3) ;
+  S1++;
+  J3 = -(5)-2*(I2)+2*I3 ;
+  S2++;
+  for (I2=2;I2<=4;I2++) {
+    for (I3=max(max(ceild(5-I2,2),5-2*I2),1);I3<=min(5-I2,N1);I3++) {
+      J3 = 5-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 12) {
+  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (4%3 == 0) {
+    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*8%18 == 0) {
+      I3 = 13*8/18 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*8+3/2)%3 == 0) {
+      I3 = (2*8+3/2)/3 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*8%4 == 0) {
+    I3 = 3*8/4 ;
+    J1 = -2*(8)+3*I3 ;
+    if ((2*8+J1)%3 == 0) {
+      J2 = (2*8+J1)/3 ;
+      J3 = 3*8-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=7;I2++) {
+    for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=8;I2<=N1-4;I2++) {
+    for (I3=ceild(8+2*I2,2);I3<=min(N1,floord(2*8+3*I2,3));I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 11) && (N1 >= 11)) {
+  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (4%3 == 0) {
+    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*8%18 == 0) {
+      I3 = 13*8/18 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*8+3/2)%3 == 0) {
+      I3 = (2*8+3/2)/3 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*8%4 == 0) {
+    I3 = 3*8/4 ;
+    J1 = -2*(8)+3*I3 ;
+    if ((2*8+J1)%3 == 0) {
+      J2 = (2*8+J1)/3 ;
+      J3 = 3*8-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=7;I2++) {
+    for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 7) && (N1 >= 6)) {
+  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*6%18 == 0) {
+    I3 = 13*6/18 ;
+    J1 = -2*(6)+3*I3 ;
+    if ((2*6+J1)%3 == 0) {
+      J2 = (2*6+J1)/3 ;
+      J3 = 3*6-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5%4 == 0) {
+    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*6-1)%12 == 0) {
+      I3 = (9*6-1)/12 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*6+1)%4 == 0) {
+      I3 = (3*6+1)/4 ;
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2;I3<=floord(6*3/2-1,2);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*6%4 == 0) {
+      I3 = 3*6/4 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*3/2+1;I3<=min(N1,floord(11*3/2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=N1-3;I2++) {
+    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(2*N1-5,2);I2<=5;I2++) {
+    for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 5) && (N1 >= 5)) {
+  for (I3=4*1;I3<=floord(13*1-1,3);I3++) {
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*6%18 == 0) {
+    I3 = 13*6/18 ;
+    J1 = -2*(6)+3*I3 ;
+    if ((2*6+J1)%3 == 0) {
+      J2 = (2*6+J1)/3 ;
+      J3 = 3*6-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*1+1,3);I3<=min(N1,5*1);I3++) {
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5%4 == 0) {
+    for (I3=2*5/4+1;I3<=3*5/4;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*6-1)%12 == 0) {
+      I3 = (9*6-1)/12 ;
+      J1 = -2*(6)+3*I3 ;
+      if ((2*6+J1)%3 == 0) {
+        J2 = (2*6+J1)/3 ;
+        J3 = 3*6-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*6+1)%4 == 0) {
+      I3 = (3*6+1)/4 ;
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=-N1+7;I2<=N1-3;I2++) {
+    for (I3=max(max(1,ceild(6-I2,2)),6-2*I2);I3<=6-I2;I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(6-I2+1,ceild(6+2*I2,2));I3<=min(N1,floord(2*6+3*I2,3));I3++) {
+      J3 = -(6)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(2*N1-5,2);I2<=5;I2++) {
+    for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 4) && (N1 >= 3)) {
+  if (4*N1%3 == 0) {
+    I1 = 4*N1/3 ;
+    if (N1%3 == 0) {
+      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 9) && (N1 >= 7)) {
+  J1 = -2*(7)+3*5 ;
+  if ((2*7+J1)%3 == 0) {
+    J2 = (2*7+J1)/3 ;
+    J3 = 3*7-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I3=6;I3<=5;I3++) {
+    J3 = 7-(I2)-(I3) ;
+    S1++;
+    J3 = -(7)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  J3 = 7-(I2)-(I3) ;
+  S1++;
+  if (7%6 == 0) {
+    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*7%18 == 0) {
+      I3 = 13*7/18 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*7-1)%12 == 0) {
+      I3 = (9*7-1)/12 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*7+1)%4 == 0) {
+      I3 = (3*7+1)/4 ;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (7%4 == 0) {
+    for (I3=2*7/4;I3<=floord(6*7/4-1,2);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*7%4 == 0) {
+      I3 = 3*7/4 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*7/4+1;I3<=min(N1,floord(11*7/4,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=floord(2*N1-7,2);I2++) {
+    for (I3=max(max(1,ceild(7-I2,2)),7-2*I2);I3<=7-I2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(7-I2+1,ceild(7+2*I2,2));I3<=min(N1,floord(2*7+3*I2,3));I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=N1-3;I2<=6;I2++) {
+    for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 6) {
+  J1 = -2*(7)+3*5 ;
+  if ((2*7+J1)%3 == 0) {
+    J2 = (2*7+J1)/3 ;
+    J3 = 3*7-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I3=6;I3<=5;I3++) {
+    J3 = 7-(I2)-(I3) ;
+    S1++;
+    J3 = -(7)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  J3 = 7-(I2)-(I3) ;
+  S1++;
+  if (7%6 == 0) {
+    for (I3=4*7/6;I3<=floord(13*7/6-1,3);I3++) {
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*7%18 == 0) {
+      I3 = 13*7/18 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*7/6+1,3);I3<=min(N1,5*7/6);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=2*3/2+1;I3<=3*3/2;I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*7-1)%12 == 0) {
+      I3 = (9*7-1)/12 ;
+      J1 = -2*(7)+3*I3 ;
+      if ((2*7+J1)%3 == 0) {
+        J2 = (2*7+J1)/3 ;
+        J3 = 3*7-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*7+1)%4 == 0) {
+      I3 = (3*7+1)/4 ;
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+      J3 = -(7)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=max(max(1,ceild(7-(2),2)),7-2*(2));I3<=7-(2);I3++) {
+    J3 = 7-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(7-(2)+1,ceild(7+2*2,2));I3<=min(N1,floord(2*7+3*2,3));I3++) {
+    J3 = -(7)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=6;I2++) {
+    for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 5) {
+  J1 = -2*(7)+3*5 ;
+  if ((2*7+J1)%3 == 0) {
+    J2 = (2*7+J1)/3 ;
+    J3 = 3*7-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=2;I2<=5;I2++) {
+    for (I3=max(max(ceild(7-I2,2),7-2*I2),1);I3<=min(7-I2,N1);I3++) {
+      J3 = 7-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 14) {
+  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if (3%2 == 0) {
+    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*9%18 == 0) {
+      I3 = 13*9/18 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*9+I2)%3 == 0) {
+      I3 = (2*9+I2)/3 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2+1;I3<=3*2;I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*9-1)%12 == 0) {
+    I3 = (9*9-1)/12 ;
+    J1 = -2*(9)+3*I3 ;
+    if ((2*9+J1)%3 == 0) {
+      J2 = (2*9+J1)/3 ;
+      J3 = 3*9-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*9+1)%4 == 0) {
+    I3 = (3*9+1)/4 ;
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (9%4 == 0) {
+    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*9%4 == 0) {
+      I3 = 3*9/4 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=8;I2++) {
+    for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=9;I2<=floord(2*N1-9,2);I2++) {
+    for (I3=ceild(9+2*I2,2);I3<=min(N1,floord(2*9+3*I2,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 13) && (N1 >= 13)) {
+  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if (3%2 == 0) {
+    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*9%18 == 0) {
+      I3 = 13*9/18 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*9+I2)%3 == 0) {
+      I3 = (2*9+I2)/3 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2+1;I3<=3*2;I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*9-1)%12 == 0) {
+    I3 = (9*9-1)/12 ;
+    J1 = -2*(9)+3*I3 ;
+    if ((2*9+J1)%3 == 0) {
+      J2 = (2*9+J1)/3 ;
+      J3 = 3*9-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*9+1)%4 == 0) {
+    I3 = (3*9+1)/4 ;
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (9%4 == 0) {
+    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*9%4 == 0) {
+      I3 = 3*9/4 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=8;I2++) {
+    for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 4) && (N1 >= 4)) {
+  if ((4*N1+1)%3 == 0) {
+    I1 = (4*N1+1)/3 ;
+    for (I2=ceild(N1+1,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=10;I1<=min(11,floord(2*N1,3));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 10) && (N1 >= 8)) {
+  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=8-2*(1);I3<=floord(2*8+3*1,3);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*8+3*1+1,3);I3<=min(N1,8-(1));I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (4%3 == 0) {
+    for (I3=4*4/3;I3<=floord(13*4/3-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*8%18 == 0) {
+      I3 = 13*8/18 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*4/3+1,3);I3<=min(N1,5*4/3);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (3%2 == 0) {
+    for (I3=8-2*(3/2);I3<=floord(8+2*3/2-1,2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(8+2*3/2,2);I3<=floord(2*8+3/2-1,3);I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*8+3/2)%3 == 0) {
+      I3 = (2*8+3/2)/3 ;
+      J1 = -2*(8)+3*I3 ;
+      if ((2*8+J1)%3 == 0) {
+        J2 = (2*8+J1)/3 ;
+        J3 = 3*8-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*8+3/2+1,3);I3<=8-(3/2);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2;I3<=floord(6*2-1,2);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*8%4 == 0) {
+    I3 = 3*8/4 ;
+    J1 = -2*(8)+3*I3 ;
+    if ((2*8+J1)%3 == 0) {
+      J2 = (2*8+J1)/3 ;
+      J3 = 3*8-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*2+1;I3<=min(N1,floord(11*2,3));I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=N1-4;I2++) {
+    for (I3=max(max(1,ceild(8-I2,2)),8-2*I2);I3<=8-I2;I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(8-I2+1,ceild(8+2*I2,2));I3<=min(N1,floord(2*8+3*I2,3));I3++) {
+      J3 = -(8)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(2*N1-7,2);I2<=7;I2++) {
+    for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 6) {
+  for (I3=ceild(8+2*1,2);I3<=8-2*(1)-1;I3++) {
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=8-2*(1);I3<=N1;I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+    J3 = -(8)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
+    J3 = 8-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*(8)+3*N1 ;
+  if ((2*8+J1)%3 == 0) {
+    J2 = (2*8+J1)/3 ;
+    J3 = 3*8-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=3;I2<=6;I2++) {
+    for (I3=max(max(ceild(8-I2,2),8-2*I2),1);I3<=min(8-I2,N1);I3++) {
+      J3 = 8-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 4) {
+  for (I3=6-2*(1);I3<=N1;I3++) {
+    J3 = -(6)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 6-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=4;I2++) {
+    for (I3=max(max(ceild(6-I2,2),6-2*I2),1);I3<=min(6-I2,N1);I3++) {
+      J3 = 6-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 18) {
+  for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*12%18 == 0) {
+    I3 = 13*12/18 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+I2)%3 == 0) {
+      I3 = (2*12+I2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (5%2 == 0) {
+    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+5/2)%3 == 0) {
+      I3 = (2*12+5/2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (11%4 == 0) {
+    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*12-1)%12 == 0) {
+      I3 = (9*12-1)/12 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*12+1)%4 == 0) {
+      I3 = (3*12+1)/4 ;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*12%4 == 0) {
+    I3 = 3*12/4 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=4;I2<=11;I2++) {
+    for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=12;I2<=N1-6;I2++) {
+    for (I3=ceild(12+2*I2,2);I3<=min(N1,floord(2*12+3*I2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 17) && (N1 >= 17)) {
+  for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*12%18 == 0) {
+    I3 = 13*12/18 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+I2)%3 == 0) {
+      I3 = (2*12+I2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (5%2 == 0) {
+    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+5/2)%3 == 0) {
+      I3 = (2*12+5/2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (11%4 == 0) {
+    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*12-1)%12 == 0) {
+      I3 = (9*12-1)/12 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*12+1)%4 == 0) {
+      I3 = (3*12+1)/4 ;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*12%4 == 0) {
+    I3 = 3*12/4 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=4;I2<=11;I2++) {
+    for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=max(10,ceild(2*N1+1,3));I1<=min(11,floord(2*N1+2,3));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 12) && (N1 >= 9)) {
+  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if (3%2 == 0) {
+    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*9%18 == 0) {
+      I3 = 13*9/18 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(2,-N1+10);I2<=1;I2++) {
+    for (I3=9-2*I2;I3<=floord(9+2*I2-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(9+2*I2,2);I3<=floord(2*9+I2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*9+I2)%3 == 0) {
+      I3 = (2*9+I2)/3 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*9+I2+1,3);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2+1;I3<=3*2;I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*9-1)%12 == 0) {
+    I3 = (9*9-1)/12 ;
+    J1 = -2*(9)+3*I3 ;
+    if ((2*9+J1)%3 == 0) {
+      J2 = (2*9+J1)/3 ;
+      J3 = 3*9-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*9+1)%4 == 0) {
+    I3 = (3*9+1)/4 ;
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (9%4 == 0) {
+    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*9%4 == 0) {
+      I3 = 3*9/4 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=floord(2*N1-9,2);I2++) {
+    for (I3=max(max(1,ceild(9-I2,2)),9-2*I2);I3<=9-I2;I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(9-I2+1,ceild(9+2*I2,2));I3<=min(N1,floord(2*9+3*I2,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=N1-4;I2<=8;I2++) {
+    for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 8) {
+  for (I3=ceild(9+2*1,2);I3<=9-2*(1)-1;I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=9-2*(1);I3<=floord(2*9+3*1,3);I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*9+3*1+1,3);I3<=min(N1,9-(1));I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if (3%2 == 0) {
+    for (I3=4*3/2;I3<=floord(13*3/2-1,3);I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*9%18 == 0) {
+      I3 = 13*9/18 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*3/2+1,3);I3<=min(N1,5*3/2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*2+1;I3<=3*2;I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*9-1)%12 == 0) {
+    I3 = (9*9-1)/12 ;
+    J1 = -2*(9)+3*I3 ;
+    if ((2*9+J1)%3 == 0) {
+      J2 = (2*9+J1)/3 ;
+      J3 = 3*9-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*9+1)%4 == 0) {
+    I3 = (3*9+1)/4 ;
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*2+2;I3<=min(N1,floord(11*2+2,3));I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (9%4 == 0) {
+    for (I3=2*9/4;I3<=floord(6*9/4-1,2);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*9%4 == 0) {
+      I3 = 3*9/4 ;
+      J1 = -2*(9)+3*I3 ;
+      if ((2*9+J1)%3 == 0) {
+        J2 = (2*9+J1)/3 ;
+        J3 = 3*9-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*9/4+1;I3<=min(N1,floord(11*9/4,3));I3++) {
+      J3 = -(9)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=max(max(1,ceild(9-(3),2)),9-2*(3));I3<=9-(3);I3++) {
+    J3 = 9-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(9-(3)+1,ceild(9+2*3,2));I3<=min(N1,floord(2*9+3*3,3));I3++) {
+    J3 = -(9)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=4;I2<=8;I2++) {
+    for (I3=max(max(ceild(9-I2,2),9-2*I2),1);I3<=min(9-I2,N1);I3++) {
+      J3 = 9-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(8,ceild(4*N1-13,2));I1<=floord(4*N1-4,3);I1++) {
+  for (I2=1;I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 20) {
+  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*13+1)%6 == 0) {
+    I3 = (5*13+1)/6 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3+1;I3<=3*3;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*13-1)%12 == 0) {
+    I3 = (9*13-1)/12 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*13+1)%4 == 0) {
+    I3 = (3*13+1)/4 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%4 == 0) {
+    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*13%4 == 0) {
+      I3 = 3*13/4 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=4;I2<=12;I2++) {
+    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=13;I2<=floord(2*N1-13,2);I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 19) && (N1 >= 19)) {
+  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*13+1)%6 == 0) {
+    I3 = (5*13+1)/6 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3+1;I3<=3*3;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*13-1)%12 == 0) {
+    I3 = (9*13-1)/12 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*13+1)%4 == 0) {
+    I3 = (3*13+1)/4 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%4 == 0) {
+    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*13%4 == 0) {
+      I3 = 3*13/4 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=4;I2<=12;I2++) {
+    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=max(10,ceild(2*N1+3,3));I1<=min(floord(6*N1-4,5),11);I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 8) {
+  for (I3=ceild(10+2*1,2);I3<=min(10-2*(1)-1,floord(2*10+3*1,3));I3++) {
+    J3 = -(10)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=10-2*(1);I3<=min(N1,10-(1));I3++) {
+    J3 = 10-(I2)-(I3) ;
+    S1++;
+  }
+  if (5%3 == 0) {
+    for (I3=4*5/3;I3<=floord(13*5/3-1,3);I3++) {
+      J3 = -(10)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 10-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*10%18 == 0) {
+      I3 = 13*10/18 ;
+      J1 = -2*(10)+3*I3 ;
+      if ((2*10+J1)%3 == 0) {
+        J2 = (2*10+J1)/3 ;
+        J3 = 3*10-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*5/3+1,3);I3<=min(N1,5*5/3);I3++) {
+      J3 = 10-(I2)-(I3) ;
+      S1++;
+      J3 = -(10)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=10-2*(2);I3<=floord(10+2*2-1,2);I3++) {
+    J3 = 10-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(10+2*2,2);I3<=floord(2*10+2-1,3);I3++) {
+    J3 = -(10)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 10-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*10+2)%3 == 0) {
+    I3 = (2*10+2)/3 ;
+    J1 = -2*(10)+3*I3 ;
+    if ((2*10+J1)%3 == 0) {
+      J2 = (2*10+J1)/3 ;
+      J3 = 3*10-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*10+2+1,3);I3<=N1;I3++) {
+    J3 = 10-(I2)-(I3) ;
+    S1++;
+    J3 = -(10)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(10-(3),2)),10-2*(3));I3<=10-(3);I3++) {
+    J3 = 10-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(10-(3)+1,ceild(10+2*3,2));I3<=min(N1,floord(2*10+3*3,3));I3++) {
+    J3 = -(10)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=4;I2<=8;I2++) {
+    for (I3=max(max(ceild(10-I2,2),10-2*I2),1);I3<=min(10-I2,N1);I3++) {
+      J3 = 10-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(8,ceild(4*N1-3,3));I1<=floord(6*N1,5);I1++) {
+  for (I2=1;I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 8) {
+  for (I3=ceild(11+2*1,2);I3<=min(N1,floord(2*11+3*1,3));I3++) {
+    J3 = -(11)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*(2)+3*N1,2);I3<=floord(3*2+3*N1-2,4);I3++) {
+    J3 = 11-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(3*2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -(11)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 11-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*(11)+3*N1 ;
+  if ((2*11+J1)%3 == 0) {
+    J2 = (2*11+J1)/3 ;
+    J3 = 3*11-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=3;I2<=8;I2++) {
+    for (I3=max(max(ceild(11-I2,2),11-2*I2),1);I3<=min(11-I2,N1);I3++) {
+      J3 = 11-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=14;I1<=min(19,floord(2*N1,3));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 16) && (N1 >= 11)) {
+  for (I3=ceild(12+2*1,2);I3<=min(12-2*(1)-1,floord(2*12+3*1,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=12-2*(1);I3<=min(N1,12-(1));I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-2*I2;I3<=floord(2*12+3*I2,3);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*12+3*I2+1,3);I3<=min(N1,12-I2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*12%18 == 0) {
+    I3 = 13*12/18 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=max(3,-N1+13);I2<=2;I2++) {
+    for (I3=12-2*I2;I3<=floord(12+2*I2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*I2,2);I3<=floord(2*12+I2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+I2)%3 == 0) {
+      I3 = (2*12+I2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+I2+1,3);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (5%2 == 0) {
+    for (I3=12-2*(5/2);I3<=floord(12+2*5/2-1,2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(12+2*5/2,2);I3<=floord(2*12+5/2-1,3);I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*12+5/2)%3 == 0) {
+      I3 = (2*12+5/2)/3 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*12+5/2+1,3);I3<=12-(5/2);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-(5/2)+1;I3<=min(N1,floord(2*12+3*5/2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (11%4 == 0) {
+    for (I3=2*11/4+1;I3<=3*11/4;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*12-1)%12 == 0) {
+      I3 = (9*12-1)/12 ;
+      J1 = -2*(12)+3*I3 ;
+      if ((2*12+J1)%3 == 0) {
+        J2 = (2*12+J1)/3 ;
+        J3 = 3*12-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*12+1)%4 == 0) {
+      I3 = (3*12+1)/4 ;
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*11/4+2;I3<=min(N1,floord(11*11/4+2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3;I3<=floord(6*3-1,2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*12%4 == 0) {
+    I3 = 3*12/4 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*3+1;I3<=min(N1,floord(11*3,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=4;I2<=N1-6;I2++) {
+    for (I3=max(max(1,ceild(12-I2,2)),12-2*I2);I3<=12-I2;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(12-I2+1,ceild(12+2*I2,2));I3<=min(N1,floord(2*12+3*I2,3));I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(2*N1-11,2);I2<=min(N1,11);I2++) {
+    for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(max(10,ceild(12*N1-39,7)),ceild(6*N1-3,5));I1<=floord(4*N1-5,3);I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 7) && (N1 >= 7)) {
+  if ((4*N1-1)%3 == 0) {
+    I1 = (4*N1-1)/3 ;
+    for (I2=1;I2<=floord(4*N1-4,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-1)%18 == 0) {
+      I2 = (4*N1-1)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (-1%3 == 0) {
+        I3 = (3*N1-1)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I2=ceild(N1+2,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(N1+3,ceild(3*N1-1,2));I1<=floord(18*N1+5,13);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=20;I1<=floord(2*N1,3);I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=max(14,ceild(2*N1+1,3));I1<=min(19,floord(2*N1+2,3));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+if ((N1 <= 18) && (N1 >= 12)) {
+  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*13+1)%6 == 0) {
+    I3 = (5*13+1)/6 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(3,-N1+14);I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3+1;I3<=3*3;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*13-1)%12 == 0) {
+    I3 = (9*13-1)/12 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*13+1)%4 == 0) {
+    I3 = (3*13+1)/4 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%4 == 0) {
+    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*13%4 == 0) {
+      I3 = 3*13/4 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=4;I2<=floord(2*N1-13,2);I2++) {
+    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=N1-6;I2<=min(N1,12);I2++) {
+    for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 12) && (N1 <= 11)) {
+  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*13+1)%6 == 0) {
+    I3 = (5*13+1)/6 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=-N1+14;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-I2+1;I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3+1;I3<=3*3;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*13-1)%12 == 0) {
+    I3 = (9*13-1)/12 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*13+1)%4 == 0) {
+    I3 = (3*13+1)/4 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%4 == 0) {
+    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*13%4 == 0) {
+      I3 = 3*13/4 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=4;I2<=floord(2*N1-13,2);I2++) {
+    for (I3=max(max(1,ceild(13-I2,2)),13-2*I2);I3<=13-I2;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(13-I2+1,ceild(13+2*I2,2));I3<=min(N1,floord(2*13+3*I2,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=N1-6;I2<=N1;I2++) {
+    for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 11) {
+  for (I3=ceild(13+2*1,2);I3<=min(13-2*(1)-1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=13-2*(1);I3<=min(N1,13-(1));I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=floord(2*13+3*I2,3);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*13+3*I2+1,3);I3<=min(N1,13-I2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=floord(15*2+2,3);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*13+1)%6 == 0) {
+    I3 = (5*13+1)/6 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*3+1;I3<=3*3;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*13-1)%12 == 0) {
+    I3 = (9*13-1)/12 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*13+1)%4 == 0) {
+    I3 = (3*13+1)/4 ;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*3+2;I3<=min(N1,floord(11*3+2,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%4 == 0) {
+    for (I3=2*13/4;I3<=floord(6*13/4-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*13%4 == 0) {
+      I3 = 3*13/4 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*13/4+1;I3<=min(N1,floord(11*13/4,3));I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=max(max(1,ceild(13-(4),2)),13-2*(4));I3<=13-(4);I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(13-(4)+1,ceild(13+2*4,2));I3<=min(N1,floord(2*13+3*4,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=5;I2<=11;I2++) {
+    for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 9) && (N1 <= 10)) {
+  if ((4*N1-4)%3 == 0) {
+    I1 = (4*N1-4)/3 ;
+    for (I2=1;I2<=floord(4*N1-7,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-4,27);I2<=floord(4*N1-7,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 == 11) {
+  for (I3=ceild(14+2*1,2);I3<=min(N1,floord(2*14+3*1,3));I3++) {
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(14+2*I2,2);I3<=14-2*I2-1;I3++) {
+      J3 = -(14)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=14-2*I2;I3<=N1;I3++) {
+      J3 = 14-(I2)-(I3) ;
+      S1++;
+      J3 = -(14)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(9*2,2);I3<=5*2-1;I3++) {
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5*14%7 == 0) {
+    I3 = 5*14/7 ;
+    J1 = -2*(14)+3*I3 ;
+    if ((2*14+J1)%3 == 0) {
+      J2 = (2*14+J1)/3 ;
+      J3 = 3*14-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(15*2+1,3);I3<=N1;I3++) {
+    J3 = 14-(I2)-(I3) ;
+    S1++;
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (7%3 == 0) {
+    for (I3=4*7/3;I3<=floord(13*7/3-1,3);I3++) {
+      J3 = -(14)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 14-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*14%18 == 0) {
+      I3 = 13*14/18 ;
+      J1 = -2*(14)+3*I3 ;
+      if ((2*14+J1)%3 == 0) {
+        J2 = (2*14+J1)/3 ;
+        J3 = 3*14-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*7/3+1,3);I3<=min(N1,5*7/3);I3++) {
+      J3 = 14-(I2)-(I3) ;
+      S1++;
+      J3 = -(14)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=14-2*(3);I3<=floord(14+2*3-1,2);I3++) {
+    J3 = 14-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(14+2*3,2);I3<=floord(2*14+3-1,3);I3++) {
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 14-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*14+3)%3 == 0) {
+    I3 = (2*14+3)/3 ;
+    J1 = -2*(14)+3*I3 ;
+    if ((2*14+J1)%3 == 0) {
+      J2 = (2*14+J1)/3 ;
+      J3 = 3*14-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*14+3+1,3);I3<=N1;I3++) {
+    J3 = 14-(I2)-(I3) ;
+    S1++;
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(14-(4),2)),14-2*(4));I3<=14-(4);I3++) {
+    J3 = 14-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(14-(4)+1,ceild(14+2*4,2));I3<=min(N1,floord(2*14+3*4,3));I3++) {
+    J3 = -(14)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=5;I2<=11;I2++) {
+    for (I3=max(max(ceild(14-I2,2),14-2*I2),1);I3<=min(14-I2,N1);I3++) {
+      J3 = 14-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 10) {
+  for (I3=ceild(13+2*1,2);I3<=min(N1,floord(2*13+3*1,3));I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(13+2*I2,2);I3<=13-2*I2-1;I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=13-2*I2;I3<=N1;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=4*2+1;I3<=floord(13*2+1,3);I3++) {
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*13-1)%18 == 0) {
+    I3 = (13*13-1)/18 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+3,3);I3<=N1;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+    J3 = -(13)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (13%6 == 0) {
+    for (I3=4*13/6;I3<=floord(13*13/6-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*13%18 == 0) {
+      I3 = 13*13/18 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*13/6+1,3);I3<=min(N1,5*13/6);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=13-2*I2;I3<=floord(13+2*I2-1,2);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(13+2*I2,2);I3<=floord(2*13+I2-1,3);I3++) {
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*13+I2)%3 == 0) {
+      I3 = (2*13+I2)/3 ;
+      J1 = -2*(13)+3*I3 ;
+      if ((2*13+J1)%3 == 0) {
+        J2 = (2*13+J1)/3 ;
+        J3 = 3*13-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*13+I2+1,3);I3<=N1;I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+      J3 = -(13)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
+    J3 = 13-(I2)-(I3) ;
+    S1++;
+  }
+  if (-1%3 == 0) {
+    I3 = (3*N1-1)/3 ;
+    J1 = -2*(13)+3*I3 ;
+    if ((2*13+J1)%3 == 0) {
+      J2 = (2*13+J1)/3 ;
+      J3 = 3*13-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  J3 = 13-(I2)-(I3) ;
+  S1++;
+  J3 = -(13)-2*(I2)+2*I3 ;
+  S2++;
+  for (I2=4;I2<=10;I2++) {
+    for (I3=max(max(ceild(13-I2,2),13-2*I2),1);I3<=min(13-I2,N1);I3++) {
+      J3 = 13-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(20,ceild(2*N1+1,3));I1<=floord(2*N1+2,3);I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=I1-1;I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+for (I1=max(14,ceild(2*N1+3,3));I1<=min(min(N1+2,19),floord(6*N1-4,5));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(10,ceild(6*N1+1,5));I1<=min(N1+2,floord(9*N1-3,7));I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 15) {
+  for (I3=ceild(18+2*1,2);I3<=min(N1,floord(2*18+3*1,3));I3++) {
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(18+2*I2,2);I3<=min(18-2*I2-1,floord(2*18+3*I2,3));I3++) {
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=18-2*I2;I3<=min(N1,18-I2);I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=ceild(18+2*2,2);I3<=18-2*(2)-1;I3++) {
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=18-2*(2);I3<=floord(2*18+3*2,3);I3++) {
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*18+3*2+1,3);I3<=min(N1,18-(2));I3++) {
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+  }
+  if (18%7 == 0) {
+    for (I3=ceild(9*18/7,2);I3<=5*18/7-1;I3++) {
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*18%7 == 0) {
+      I3 = 5*18/7 ;
+      J1 = -2*(18)+3*I3 ;
+      if ((2*18+J1)%3 == 0) {
+        J2 = (2*18+J1)/3 ;
+        J3 = 3*18-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*18/7+1,3);I3<=floord(17*18/7,3);I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*18/7+1,3);I3<=min(N1,6*18/7);I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*3;I3<=floord(13*3-1,3);I3++) {
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*18%18 == 0) {
+    I3 = 13*18/18 ;
+    J1 = -2*(18)+3*I3 ;
+    if ((2*18+J1)%3 == 0) {
+      J2 = (2*18+J1)/3 ;
+      J3 = 3*18-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*3+1,3);I3<=min(N1,5*3);I3++) {
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=18-2*(4);I3<=floord(18+2*4-1,2);I3++) {
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(18+2*4,2);I3<=floord(2*18+4-1,3);I3++) {
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*18+4)%3 == 0) {
+    I3 = (2*18+4)/3 ;
+    J1 = -2*(18)+3*I3 ;
+    if ((2*18+J1)%3 == 0) {
+      J2 = (2*18+J1)/3 ;
+      J3 = 3*18-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*18+4+1,3);I3<=18-(4);I3++) {
+    J3 = 18-(I2)-(I3) ;
+    S1++;
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=18-(4)+1;I3<=min(N1,floord(2*18+3*4,3));I3++) {
+    J3 = -(18)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (17%4 == 0) {
+    for (I3=2*17/4+1;I3<=3*17/4;I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*18-1)%12 == 0) {
+      I3 = (9*18-1)/12 ;
+      J1 = -2*(18)+3*I3 ;
+      if ((2*18+J1)%3 == 0) {
+        J2 = (2*18+J1)/3 ;
+        J3 = 3*18-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*18+1)%4 == 0) {
+      I3 = (3*18+1)/4 ;
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*17/4+2;I3<=min(N1,floord(11*17/4+2,3));I3++) {
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (9%2 == 0) {
+    for (I3=2*9/2;I3<=floord(6*9/2-1,2);I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*18%4 == 0) {
+      I3 = 3*18/4 ;
+      J1 = -2*(18)+3*I3 ;
+      if ((2*18+J1)%3 == 0) {
+        J2 = (2*18+J1)/3 ;
+        J3 = 3*18-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*9/2+1;I3<=min(N1,floord(11*9/2,3));I3++) {
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=5;I2<=6;I2++) {
+    for (I3=max(max(1,ceild(18-I2,2)),18-2*I2);I3<=18-I2;I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(18-I2+1,ceild(18+2*I2,2));I3<=min(N1,floord(2*18+3*I2,3));I3++) {
+      J3 = -(18)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=7;I2<=15;I2++) {
+    for (I3=max(max(ceild(18-I2,2),18-2*I2),1);I3<=min(18-I2,N1);I3++) {
+      J3 = 18-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 16) {
+  for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=19-2*I2;I3<=floord(2*19+3*I2,3);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*19+3*I2+1,3);I3<=min(N1,19-I2);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (19%7 == 0) {
+    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*19%7 == 0) {
+      I3 = 5*19/7 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*19/7+1,3);I3<=floord(17*19/7,3);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*19/7+1,3);I3<=min(N1,6*19/7);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*19-1)%18 == 0) {
+    I3 = (13*19-1)/18 ;
+    J1 = -2*(19)+3*I3 ;
+    if ((2*19+J1)%3 == 0) {
+      J2 = (2*19+J1)/3 ;
+      J3 = 3*19-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*3+3,3);I3<=floord(15*3+2,3);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if ((5*19+1)%6 == 0) {
+    I3 = (5*19+1)/6 ;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if (19%6 == 0) {
+    for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*19%18 == 0) {
+      I3 = 13*19/18 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*19+4)%3 == 0) {
+    I3 = (2*19+4)/3 ;
+    J1 = -2*(19)+3*I3 ;
+    if ((2*19+J1)%3 == 0) {
+      J2 = (2*19+J1)/3 ;
+      J3 = 3*19-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*19+4+1,3);I3<=19-(4);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=19-(4)+1;I3<=min(N1,floord(2*19+3*4,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (9%2 == 0) {
+    for (I3=2*9/2+1;I3<=3*9/2;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*19-1)%12 == 0) {
+      I3 = (9*19-1)/12 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*19+1)%4 == 0) {
+      I3 = (3*19+1)/4 ;
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*9/2+2;I3<=min(N1,floord(11*9/2+2,3));I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (19%4 == 0) {
+    for (I3=2*19/4;I3<=floord(6*19/4-1,2);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*19%4 == 0) {
+      I3 = 3*19/4 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*19/4+1;I3<=min(N1,floord(11*19/4,3));I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=5;I2<=6;I2++) {
+    for (I3=max(max(1,ceild(19-I2,2)),19-2*I2);I3<=19-I2;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(19-I2+1,ceild(19+2*I2,2));I3<=min(N1,floord(2*19+3*I2,3));I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=7;I2<=16;I2++) {
+    for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 17) && (N1 <= 16)) {
+  if ((4*N1-5)%3 == 0) {
+    I1 = (4*N1-5)/3 ;
+    for (I2=1;I2<=floord(N1-8,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%18 == 0) {
+      I2 = (4*N1-5)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%12 == 0) {
+      I2 = (4*N1-5)/12 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+4,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 == 9) {
+  for (I3=ceild(12+2*1,2);I3<=min(N1,floord(2*12+3*1,3));I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(12+2*I2,2);I3<=12-2*I2-1;I3++) {
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=12-2*I2;I3<=N1;I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+      J3 = -(12)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=4*2;I3<=floord(13*2-1,3);I3++) {
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  if (13*12%18 == 0) {
+    I3 = 13*12/18 ;
+    J1 = -2*(12)+3*I3 ;
+    if ((2*12+J1)%3 == 0) {
+      J2 = (2*12+J1)/3 ;
+      J3 = 3*12-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*2+1,3);I3<=min(N1,5*2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+    J3 = -(12)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
+    J3 = 12-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*(12)+3*N1 ;
+  if ((2*12+J1)%3 == 0) {
+    J2 = (2*12+J1)/3 ;
+    J3 = 3*12-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=4;I2<=9;I2++) {
+    for (I3=max(max(ceild(12-I2,2),12-2*I2),1);I3<=min(12-I2,N1);I3++) {
+      J3 = 12-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(20,ceild(2*N1+3,3));I1<=N1+2;I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=min(N1,I1-1);I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(14,ceild(6*N1-3,5));I1<=N1+2;I1++) {
+  for (I2=1;I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=N1+3;I1<=floord(6*N1-4,5);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1+1,6),I1-N1+1);I2<=floord(I1+2,6);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+3,6);I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 16) {
+  for (I3=ceild(20+2*1,2);I3<=min(N1,floord(2*20+3*1,3));I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(20+2*2,2);I3<=min(20-2*(2)-1,floord(2*20+3*2,3));I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=20-2*(2);I3<=min(N1,20-(2));I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) {
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=20-2*I2;I3<=floord(2*20+3*I2,3);I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*20+3*I2+1,3);I3<=min(N1,20-I2);I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=ceild(20+2*I2,2);I3<=20-2*I2-1;I3++) {
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=20-2*I2;I3<=N1;I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (20%7 == 0) {
+    for (I3=ceild(9*20/7,2);I3<=5*20/7-1;I3++) {
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*20%7 == 0) {
+      I3 = 5*20/7 ;
+      J1 = -2*(20)+3*I3 ;
+      if ((2*20+J1)%3 == 0) {
+        J2 = (2*20+J1)/3 ;
+        J3 = 3*20-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*20/7+1,3);I3<=N1;I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(20+2*3,2);I3<=20-2*(3)-1;I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=20-2*(3);I3<=floord(2*20+3-1,3);I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*20+3)%3 == 0) {
+    I3 = (2*20+3)/3 ;
+    J1 = -2*(20)+3*I3 ;
+    if ((2*20+J1)%3 == 0) {
+      J2 = (2*20+J1)/3 ;
+      J3 = 3*20-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*20+3+1,3);I3<=N1;I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (10%3 == 0) {
+    for (I3=4*10/3;I3<=floord(13*10/3-1,3);I3++) {
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*20%18 == 0) {
+      I3 = 13*20/18 ;
+      J1 = -2*(20)+3*I3 ;
+      if ((2*20+J1)%3 == 0) {
+        J2 = (2*20+J1)/3 ;
+        J3 = 3*20-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*10/3+1,3);I3<=min(N1,5*10/3);I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+      J3 = -(20)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=20-2*(4);I3<=floord(20+2*4-1,2);I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(20+2*4,2);I3<=floord(2*20+4-1,3);I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*20+4)%3 == 0) {
+    I3 = (2*20+4)/3 ;
+    J1 = -2*(20)+3*I3 ;
+    if ((2*20+J1)%3 == 0) {
+      J2 = (2*20+J1)/3 ;
+      J3 = 3*20-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*20+4+1,3);I3<=N1;I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=2*5;I3<=floord(6*5-1,2);I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*20%4 == 0) {
+    I3 = 3*20/4 ;
+    J1 = -2*(20)+3*I3 ;
+    if ((2*20+J1)%3 == 0) {
+      J2 = (2*20+J1)/3 ;
+      J3 = 3*20-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*5+1;I3<=min(N1,floord(11*5,3));I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(20-(6),2)),20-2*(6));I3<=20-(6);I3++) {
+    J3 = 20-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(20-(6)+1,ceild(20+2*6,2));I3<=min(N1,floord(2*20+3*6,3));I3++) {
+    J3 = -(20)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=7;I2<=16;I2++) {
+    for (I3=max(max(ceild(20-I2,2),20-2*I2),1);I3<=min(20-I2,N1);I3++) {
+      J3 = 20-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 12) {
+  for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(15+2*I2,2);I3<=min(15-2*I2-1,floord(2*15+3*I2,3));I3++) {
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=15-2*I2;I3<=min(N1,15-I2);I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (5%3 == 0) {
+    for (I3=ceild(15+2*5/3,2);I3<=15-2*(5/3)-1;I3++) {
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=15-2*(5/3);I3<=floord(2*15+3*5/3,3);I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*15+3*5/3+1,3);I3<=min(N1,15-(5/3));I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=15-2*(2);I3<=N1;I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (15%7 == 0) {
+    for (I3=ceild(9*15/7,2);I3<=5*15/7-1;I3++) {
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*15%7 == 0) {
+      I3 = 5*15/7 ;
+      J1 = -2*(15)+3*I3 ;
+      if ((2*15+J1)%3 == 0) {
+        J2 = (2*15+J1)/3 ;
+        J3 = 3*15-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*15/7+1,3);I3<=N1;I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (5%2 == 0) {
+    for (I3=4*5/2;I3<=floord(13*5/2-1,3);I3++) {
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*15%18 == 0) {
+      I3 = 13*15/18 ;
+      J1 = -2*(15)+3*I3 ;
+      if ((2*15+J1)%3 == 0) {
+        J2 = (2*15+J1)/3 ;
+        J3 = 3*15-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*5/2+1,3);I3<=min(N1,5*5/2);I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+      J3 = -(15)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=15-2*(3);I3<=floord(15+2*3-1,2);I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(15+2*3,2);I3<=floord(2*15+3-1,3);I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*15+3)%3 == 0) {
+    I3 = (2*15+3)/3 ;
+    J1 = -2*(15)+3*I3 ;
+    if ((2*15+J1)%3 == 0) {
+      J2 = (2*15+J1)/3 ;
+      J3 = 3*15-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*15+3+1,3);I3<=N1;I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(15-(4),2)),15-2*(4));I3<=15-(4);I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(15-(4)+1,ceild(15+2*4,2));I3<=min(N1,floord(2*15+3*4,3));I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=5;I2<=12;I2++) {
+    for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 15) && (N1 >= 14)) {
+  if ((4*N1-5)%3 == 0) {
+    I1 = (4*N1-5)/3 ;
+    for (I2=1;I2<=floord(N1-8,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-5,27);I2<=min(floord(4*N1-8,21),floord(N1+7,9));I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((4*N1-5)%18 == 0) {
+      I2 = (4*N1-5)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%12 == 0) {
+      I2 = (4*N1-5)/12 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+4,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 == 13) {
+  for (I3=ceild(16+2*1,2);I3<=min(N1,floord(2*16+3*1,3));I3++) {
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=2;I2<=1;I2++) {
+    for (I3=ceild(16+2*I2,2);I3<=min(16-2*I2-1,floord(2*16+3*I2,3));I3++) {
+      J3 = -(16)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=16-2*I2;I3<=min(N1,16-I2);I3++) {
+      J3 = 16-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I3=ceild(16+2*2,2);I3<=16-2*(2)-1;I3++) {
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=16-2*(2);I3<=floord(2*16+3*2,3);I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(2*16+3*2+1,3);I3<=min(N1,16-(2));I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+  }
+  if (8%3 == 0) {
+    for (I3=4*8/3;I3<=floord(13*8/3-1,3);I3++) {
+      J3 = -(16)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 16-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*16%18 == 0) {
+      I3 = 13*16/18 ;
+      J1 = -2*(16)+3*I3 ;
+      if ((2*16+J1)%3 == 0) {
+        J2 = (2*16+J1)/3 ;
+        J3 = 3*16-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*8/3+1,3);I3<=min(N1,5*8/3);I3++) {
+      J3 = 16-(I2)-(I3) ;
+      S1++;
+      J3 = -(16)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=16-2*(3);I3<=floord(16+2*3-1,2);I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(16+2*3,2);I3<=floord(2*16+3-1,3);I3++) {
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*16+3)%3 == 0) {
+    I3 = (2*16+3)/3 ;
+    J1 = -2*(16)+3*I3 ;
+    if ((2*16+J1)%3 == 0) {
+      J2 = (2*16+J1)/3 ;
+      J3 = 3*16-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*16+3+1,3);I3<=N1;I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=2*4;I3<=floord(6*4-1,2);I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*16%4 == 0) {
+    I3 = 3*16/4 ;
+    J1 = -2*(16)+3*I3 ;
+    if ((2*16+J1)%3 == 0) {
+      J2 = (2*16+J1)/3 ;
+      J3 = 3*16-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*4+1;I3<=min(N1,floord(11*4,3));I3++) {
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(16-(5),2)),16-2*(5));I3<=16-(5);I3++) {
+    J3 = 16-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(16-(5)+1,ceild(16+2*5,2));I3<=min(N1,floord(2*16+3*5,3));I3++) {
+    J3 = -(16)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=6;I2<=13;I2++) {
+    for (I3=max(max(ceild(16-I2,2),16-2*I2),1);I3<=min(16-I2,N1);I3++) {
+      J3 = 16-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(max(N1+3,20),ceild(6*N1-3,5));I1<=floord(6*N1-1,5);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=floord(15*I2+2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if ((5*I1+1)%6 == 0) {
+      I3 = (5*I1+1)/6 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 14) && (N1 >= 14)) {
+  if ((4*N1-4)%3 == 0) {
+    I1 = (4*N1-4)/3 ;
+    for (I2=1;I2<=floord(N1-7,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((4*N1-4)%21 == 0) {
+      I2 = (4*N1-4)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 == 15) {
+  for (I3=ceild(19+2*1,2);I3<=min(N1,floord(2*19+3*1,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(19+2*2,2);I3<=min(19-2*(2)-1,floord(2*19+3*2,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=19-2*(2);I3<=min(N1,19-(2));I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=19-2*I2;I3<=N1;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (19%7 == 0) {
+    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*19%7 == 0) {
+      I3 = 5*19/7 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*19-1)%18 == 0) {
+    I3 = (13*19-1)/18 ;
+    J1 = -2*(19)+3*I3 ;
+    if ((2*19+J1)%3 == 0) {
+      J2 = (2*19+J1)/3 ;
+      J3 = 3*19-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (19%6 == 0) {
+    for (I3=4*19/6;I3<=floord(13*19/6-1,3);I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*19%18 == 0) {
+      I3 = 13*19/18 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*19/6+1,3);I3<=min(N1,5*19/6);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=19-2*(4);I3<=floord(19+2*4-1,2);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(19+2*4,2);I3<=floord(2*19+4-1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if ((2*19+4)%3 == 0) {
+    I3 = (2*19+4)/3 ;
+    J1 = -2*(19)+3*I3 ;
+    if ((2*19+J1)%3 == 0) {
+      J2 = (2*19+J1)/3 ;
+      J3 = 3*19-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(2*19+4+1,3);I3<=N1;I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(19-(5),2)),19-2*(5));I3<=19-(5);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(19-(5)+1,ceild(19+2*5,2));I3<=min(N1,floord(2*19+3*5,3));I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=6;I2<=15;I2++) {
+    for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 12) && (N1 >= 12)) {
+  if ((9*N1-2)%7 == 0) {
+    I1 = (9*N1-2)/7 ;
+    for (I2=1;I2<=floord(2*N1-9,14);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%7 == 0) {
+      I2 = (N1-1)/7 ;
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-2)%49 == 0) {
+      I2 = (9*N1-2)/49 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-2)%42 == 0) {
+      I2 = (9*N1-2)/42 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+5,7);I2<=floord(5*N1+2,14);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(5*N1+9,14);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 17) {
+  if (6*N1%5 == 0) {
+    I1 = 6*N1/5 ;
+    for (I2=1;I2<=floord(N1-5,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1,10);I2<=floord(6*N1-5,45);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(2*N1,15);I2<=floord(6*N1-5,35);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if (6*N1%35 == 0) {
+      I2 = 6*N1/35 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(6*N1+5,35);I2<=floord(3*N1-5,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if (N1%5 == 0) {
+      for (I3=4*N1/5;I3<=floord(13*N1/5-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*N1/5+1,3);I3<=min(N1,5*N1/5);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+5,5);I2<=floord(3*N1-5,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((6*N1-5)%20 == 0) {
+      I2 = (6*N1-5)/20 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (3*N1%10 == 0) {
+      I2 = 3*N1/10 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1+5,20);I2<=floord(2*N1,5);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+5,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(9*N1-1,7),ceild(6*N1+5,5));I1<=min(19,floord(4*N1-2,3));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 23) {
+  if ((6*N1+1)%5 == 0) {
+    I1 = (6*N1+1)/5 ;
+    for (I2=1;I2<=floord(N1-4,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((6*N1+1)%35 == 0) {
+      I2 = (6*N1+1)/35 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(6*N1+6,35);I2<=floord(3*N1-7,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((6*N1+1)%30 == 0) {
+      I2 = (6*N1+1)/30 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+1)%5 == 0) {
+      I2 = (N1+1)/5 ;
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-2)%10 == 0) {
+      I2 = (3*N1-2)/10 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((6*N1+1)%20 == 0) {
+      I2 = (6*N1+1)/20 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+2,5);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 >= 18) && (N1 <= 20)) {
+  if ((6*N1+1)%5 == 0) {
+    I1 = (6*N1+1)/5 ;
+    for (I2=1;I2<=floord(N1-4,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+1,10);I2<=floord(6*N1-4,45);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(6*N1+1,45);I2<=floord(6*N1-4,35);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((6*N1+1)%35 == 0) {
+      I2 = (6*N1+1)/35 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=floord(17*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(17*I2+1,3);I3<=min(N1,6*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((6*N1+1)%30 == 0) {
+      I2 = (6*N1+1)/30 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+1)%5 == 0) {
+      I2 = (N1+1)/5 ;
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+6,5);I2<=floord(6*N1-9,20);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-2)%10 == 0) {
+      I2 = (3*N1-2)/10 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((6*N1+1)%20 == 0) {
+      I2 = (6*N1+1)/20 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+3,10);I2<=floord(4*N1-1,10);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+2,5);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 14) && (N1 >= 11)) {
+  if ((4*N1-1)%3 == 0) {
+    I1 = (4*N1-1)/3 ;
+    for (I2=1;I2<=floord(N1-4,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-1)%21 == 0) {
+      I2 = (4*N1-1)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-1)%18 == 0) {
+      I2 = (4*N1-1)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (-1%3 == 0) {
+        I3 = (3*N1-1)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I2=ceild(N1+2,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(6*N1+2,5);I1<=min(floord(21*N1-10,17),floord(6*N1+4,5));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 14) && (N1 >= 11)) {
+  if (4*N1%3 == 0) {
+    I1 = 4*N1/3 ;
+    for (I2=1;I2<=floord(N1-3,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (4*N1%21 == 0) {
+      I2 = 4*N1/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-3)%18 == 0) {
+      I2 = (4*N1-3)/18 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (2*N1%9 == 0) {
+      I2 = 2*N1/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%3 == 0) {
+      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(6*N1+5,5);I1<=floord(21*N1-10,17);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(ceild(21*N1-9,17),ceild(6*N1+2,5));I1<=min(floord(21*N1-7,17),floord(6*N1+4,5));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 14) {
+  for (I2=1;I2<=2;I2++) {
+    for (I3=ceild(19+2*I2,2);I3<=min(N1,floord(2*19+3*I2,3));I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=3;I2<=2;I2++) {
+    for (I3=ceild(19+2*I2,2);I3<=19-2*I2-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=19-2*I2;I3<=N1;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (19%7 == 0) {
+    for (I3=ceild(9*19/7,2);I3<=5*19/7-1;I3++) {
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*19%7 == 0) {
+      I3 = 5*19/7 ;
+      J1 = -2*(19)+3*I3 ;
+      if ((2*19+J1)%3 == 0) {
+        J2 = (2*19+J1)/3 ;
+        J3 = 3*19-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*19/7+1,3);I3<=N1;I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+      J3 = -(19)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=4*3+1;I3<=floord(13*3+1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*19-1)%18 == 0) {
+    I3 = (13*19-1)/18 ;
+    J1 = -2*(19)+3*I3 ;
+    if ((2*19+J1)%3 == 0) {
+      J2 = (2*19+J1)/3 ;
+      J3 = 3*19-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*3+3,3);I3<=N1;I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*(4)+3*N1,2);I3<=floord(3*4+3*N1-2,4);I3++) {
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(3*4+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -(19)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 19-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*(19)+3*N1 ;
+  if ((2*19+J1)%3 == 0) {
+    J2 = (2*19+J1)/3 ;
+    J3 = 3*19-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=5;I2<=14;I2++) {
+    for (I3=max(max(ceild(19-I2,2),19-2*I2),1);I3<=min(19-I2,N1);I3++) {
+      J3 = 19-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 11) {
+  for (I3=ceild(15+2*1,2);I3<=min(N1,floord(2*15+3*1,3));I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(15+2*2,2);I3<=15-2*(2)-1;I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=15-2*(2);I3<=N1;I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*(3)+3*N1,2);I3<=floord(3*3+3*N1-2,4);I3++) {
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(3*3+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -(15)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 15-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*(15)+3*N1 ;
+  if ((2*15+J1)%3 == 0) {
+    J2 = (2*15+J1)/3 ;
+    J3 = 3*15-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=4;I2<=11;I2++) {
+    for (I3=max(max(ceild(15-I2,2),15-2*I2),1);I3<=min(15-I2,N1);I3++) {
+      J3 = 15-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(ceild(21*N1-9,17),ceild(6*N1+5,5));I1<=floord(21*N1-7,17);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=floord(17*I1/7,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(17*I1/7+1,3);I3<=min(N1,6*I1/7);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(ceild(21*N1-6,17),ceild(6*N1+2,5));I1<=min(min(floord(21*N1-1,17),floord(6*N1+4,5)),floord(4*N1-6,3));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=ceild(21*N1,17);I1<=min(floord(6*N1+4,5),floord(4*N1-6,3));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 18) && (N1 >= 17)) {
+  if ((4*N1-5)%3 == 0) {
+    I1 = (4*N1-5)/3 ;
+    for (I2=1;I2<=floord(N1-8,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    if ((4*N1-5)%21 == 0) {
+      I2 = (4*N1-5)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%18 == 0) {
+      I2 = (4*N1-5)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%12 == 0) {
+      I2 = (4*N1-5)/12 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+4,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(21*N1-6,17),ceild(6*N1+5,5));I1<=floord(21*N1-1,17);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=min(floord(I1-1,7),floord(-2*I1+3*N1-1,3));I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=max(ceild(I1+1,7),ceild(-2*I1+3*N1,3));I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 18) && (N1 <= 19)) {
+  if ((4*N1-4)%3 == 0) {
+    I1 = (4*N1-4)/3 ;
+    for (I2=1;I2<=floord(N1-7,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-4,6);I2<=floord(4*N1-7,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-4,27);I2<=floord(N1+5,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(N1+8,9);I2<=floord(4*N1-7,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-4)%21 == 0) {
+      I2 = (4*N1-4)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-7)%18 == 0) {
+      I2 = (4*N1-7)/18 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(21*N1,17),ceild(6*N1+5,5));I1<=floord(21*N1+2,17);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(ceild(21*N1+3,17),ceild(6*N1+5,5));I1<=min(floord(9*N1-3,7),floord(4*N1-6,3));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,9);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1,9);I2<=floord(-2*I1+3*N1-1,3);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-2*I1+3*N1,3);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 20) && (N1 <= 26)) {
+  if ((4*N1-5)%3 == 0) {
+    I1 = (4*N1-5)/3 ;
+    for (I2=1;I2<=floord(N1-8,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-5,6);I2<=floord(4*N1-8,27);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1-5,27);I2<=floord(N1+7,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+3*I2,3);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(2*I1+3*I2+1,3);I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(N1+10,9);I2<=floord(4*N1-8,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%21 == 0) {
+      I2 = (4*N1-5)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-4)%9 == 0) {
+      I2 = (2*N1-4)/9 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%18 == 0) {
+      I2 = (4*N1-5)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%12 == 0) {
+      I2 = (4*N1-5)/12 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+4,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 36) {
+  if ((9*N1-2)%7 == 0) {
+    I1 = (9*N1-2)/7 ;
+    for (I2=1;I2<=floord(2*N1-9,14);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%7 == 0) {
+      I2 = (N1-1)/7 ;
+      for (I3=ceild(I1+2*I2,2);I3<=min(I1-2*I2-1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=min(N1,I1-I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+4,21);I2<=floord(9*N1-9,49);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-2)%49 == 0) {
+      I2 = (9*N1-2)/49 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(9*N1+5,49);I2<=floord(9*N1-16,42);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-3)%14 == 0) {
+      I2 = (3*N1-3)/14 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-2)%42 == 0) {
+      I2 = (9*N1-2)/42 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(9*N1+5,42);I2<=floord(2*N1-2,7);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+5,7);I2<=floord(9*N1-16,28);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-9)%28 == 0) {
+      I2 = (9*N1-9)/28 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((9*N1-2)%28 == 0) {
+      I2 = (9*N1-2)/28 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(9*N1+5,28);I2<=floord(5*N1+2,14);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(5*N1+9,14);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 == 29) {
+  for (I2=1;I2<=3;I2++) {
+    for (I3=ceild(37+2*I2,2);I3<=min(N1,floord(2*37+3*I2,3));I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(37+2*4,2);I3<=min(37-2*(4)-1,floord(2*37+3*4,3));I3++) {
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=37-2*(4);I3<=min(N1,37-(4));I3++) {
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(37+2*5,2);I3<=37-2*(5)-1;I3++) {
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=37-2*(5);I3<=N1;I3++) {
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (37%7 == 0) {
+    for (I3=ceild(9*37/7,2);I3<=5*37/7-1;I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*37%7 == 0) {
+      I3 = 5*37/7 ;
+      J1 = -2*(37)+3*I3 ;
+      if ((2*37+J1)%3 == 0) {
+        J2 = (2*37+J1)/3 ;
+        J3 = 3*37-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*37/7+1,3);I3<=N1;I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=6;I2<=5;I2++) {
+    for (I3=ceild(37+2*I2,2);I3<=37-2*I2-1;I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=37-2*I2;I3<=floord(2*37+I2-1,3);I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*37+I2)%3 == 0) {
+      I3 = (2*37+I2)/3 ;
+      J1 = -2*(37)+3*I3 ;
+      if ((2*37+J1)%3 == 0) {
+        J2 = (2*37+J1)/3 ;
+        J3 = 3*37-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=4*6+1;I3<=floord(13*6+1,3);I3++) {
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+  }
+  if ((13*37-1)%18 == 0) {
+    I3 = (13*37-1)/18 ;
+    J1 = -2*(37)+3*I3 ;
+    if ((2*37+J1)%3 == 0) {
+      J2 = (2*37+J1)/3 ;
+      J3 = 3*37-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(13*6+3,3);I3<=N1;I3++) {
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (37%6 == 0) {
+    for (I3=4*37/6;I3<=floord(13*37/6-1,3);I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*37%18 == 0) {
+      I3 = 13*37/18 ;
+      J1 = -2*(37)+3*I3 ;
+      if ((2*37+J1)%3 == 0) {
+        J2 = (2*37+J1)/3 ;
+        J3 = 3*37-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*37/6+1,3);I3<=min(N1,5*37/6);I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=7;I2<=8;I2++) {
+    for (I3=37-2*I2;I3<=floord(37+2*I2-1,2);I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(37+2*I2,2);I3<=floord(2*37+I2-1,3);I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*37+I2)%3 == 0) {
+      I3 = (2*37+I2)/3 ;
+      J1 = -2*(37)+3*I3 ;
+      if ((2*37+J1)%3 == 0) {
+        J2 = (2*37+J1)/3 ;
+        J3 = 3*37-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*37+I2+1,3);I3<=N1;I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*9+1;I3<=3*9;I3++) {
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+  }
+  if ((9*37-1)%12 == 0) {
+    I3 = (9*37-1)/12 ;
+    J1 = -2*(37)+3*I3 ;
+    if ((2*37+J1)%3 == 0) {
+      J2 = (2*37+J1)/3 ;
+      J3 = 3*37-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  if ((3*37+1)%4 == 0) {
+    I3 = (3*37+1)/4 ;
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=3*9+2;I3<=min(N1,floord(11*9+2,3));I3++) {
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (37%4 == 0) {
+    for (I3=2*37/4;I3<=floord(6*37/4-1,2);I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*37%4 == 0) {
+      I3 = 3*37/4 ;
+      J1 = -2*(37)+3*I3 ;
+      if ((2*37+J1)%3 == 0) {
+        J2 = (2*37+J1)/3 ;
+        J3 = 3*37-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*37/4+1;I3<=min(N1,floord(11*37/4,3));I3++) {
+      J3 = -(37)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=max(max(1,ceild(37-(10),2)),37-2*(10));I3<=37-(10);I3++) {
+    J3 = 37-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(37-(10)+1,ceild(37+2*10,2));I3<=min(N1,floord(2*37+3*10,3));I3++) {
+    J3 = -(37)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=11;I2<=29;I2++) {
+    for (I3=max(max(ceild(37-I2,2),37-2*I2),1);I3<=min(37-I2,N1);I3++) {
+      J3 = 37-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 22) {
+  for (I2=1;I2<=2;I2++) {
+    for (I3=ceild(28+2*I2,2);I3<=min(N1,floord(2*28+3*I2,3));I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(28+2*3,2);I3<=min(28-2*(3)-1,floord(2*28+3*3,3));I3++) {
+    J3 = -(28)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=28-2*(3);I3<=min(N1,28-(3));I3++) {
+    J3 = 28-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=4;I2<=3;I2++) {
+    for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=28-2*I2;I3<=N1;I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=ceild(9*4,2);I3<=5*4-1;I3++) {
+    J3 = -(28)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  if (5*28%7 == 0) {
+    I3 = 5*28/7 ;
+    J1 = -2*(28)+3*I3 ;
+    if ((2*28+J1)%3 == 0) {
+      J2 = (2*28+J1)/3 ;
+      J3 = 3*28-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=ceild(15*4+1,3);I3<=N1;I3++) {
+    J3 = 28-(I2)-(I3) ;
+    S1++;
+    J3 = -(28)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=5;I2<=4;I2++) {
+    for (I3=ceild(28+2*I2,2);I3<=28-2*I2-1;I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=28-2*I2;I3<=floord(2*28+I2-1,3);I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*28+I2)%3 == 0) {
+      I3 = (2*28+I2)/3 ;
+      J1 = -2*(28)+3*I3 ;
+      if ((2*28+J1)%3 == 0) {
+        J2 = (2*28+J1)/3 ;
+        J3 = 3*28-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (9%2 == 0) {
+    for (I3=4*9/2+1;I3<=floord(13*9/2+1,3);I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*28-1)%18 == 0) {
+      I3 = (13*28-1)/18 ;
+      J1 = -2*(28)+3*I3 ;
+      if ((2*28+J1)%3 == 0) {
+        J2 = (2*28+J1)/3 ;
+        J3 = 3*28-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*9/2+3,3);I3<=N1;I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (14%3 == 0) {
+    for (I3=4*14/3;I3<=floord(13*14/3-1,3);I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*28%18 == 0) {
+      I3 = 13*28/18 ;
+      J1 = -2*(28)+3*I3 ;
+      if ((2*28+J1)%3 == 0) {
+        J2 = (2*28+J1)/3 ;
+        J3 = 3*28-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*14/3+1,3);I3<=min(N1,5*14/3);I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=5;I2<=6;I2++) {
+    for (I3=28-2*I2;I3<=floord(28+2*I2-1,2);I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(28+2*I2,2);I3<=floord(2*28+I2-1,3);I3++) {
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*28+I2)%3 == 0) {
+      I3 = (2*28+I2)/3 ;
+      J1 = -2*(28)+3*I3 ;
+      if ((2*28+J1)%3 == 0) {
+        J2 = (2*28+J1)/3 ;
+        J3 = 3*28-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*28+I2+1,3);I3<=N1;I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+      J3 = -(28)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=2*7;I3<=floord(6*7-1,2);I3++) {
+    J3 = 28-(I2)-(I3) ;
+    S1++;
+  }
+  if (3*28%4 == 0) {
+    I3 = 3*28/4 ;
+    J1 = -2*(28)+3*I3 ;
+    if ((2*28+J1)%3 == 0) {
+      J2 = (2*28+J1)/3 ;
+      J3 = 3*28-4*J2 ;
+      S1++;
+      S2++;
+    }
+  }
+  for (I3=3*7+1;I3<=min(N1,floord(11*7,3));I3++) {
+    J3 = -(28)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=max(max(1,ceild(28-(8),2)),28-2*(8));I3<=28-(8);I3++) {
+    J3 = 28-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=max(28-(8)+1,ceild(28+2*8,2));I3<=min(N1,floord(2*28+3*8,3));I3++) {
+    J3 = -(28)-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I2=9;I2<=22;I2++) {
+    for (I3=max(max(ceild(28-I2,2),28-2*I2),1);I3<=min(28-I2,N1);I3++) {
+      J3 = 28-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=ceild(9*N1-1,7);I1<=floord(4*N1-6,3);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(I1-2,4);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-I2+1;I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%4 == 0) {
+    I2 = (I1-1)/4 ;
+    for (I3=2*I2+1;I3<=3*I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((9*I1-1)%12 == 0) {
+      I3 = (9*I1-1)/12 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    if ((3*I1+1)%4 == 0) {
+      I3 = (3*I1+1)/4 ;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%4 == 0) {
+    for (I3=2*I1/4;I3<=floord(6*I1/4-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (3*I1%4 == 0) {
+      I3 = 3*I1/4 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=3*I1/4+1;I3<=min(N1,floord(11*I1/4,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,4);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 32) {
+  if ((4*N1-5)%3 == 0) {
+    I1 = (4*N1-5)/3 ;
+    for (I2=1;I2<=floord(N1-8,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=max(ceild(N1-5,6),ceild(N1+10,9));I2<=floord(4*N1-8,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%21 == 0) {
+      I2 = (4*N1-5)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-2,21);I2<=floord(4*N1-11,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-4)%9 == 0) {
+      I2 = (2*N1-4)/9 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%18 == 0) {
+      I2 = (4*N1-5)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=2*I2+1;I3<=3*I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((9*I1-1)%12 == 0) {
+        I3 = (9*I1-1)/12 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      if ((3*I1+1)%4 == 0) {
+        I3 = (3*I1+1)/4 ;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=3*I2+2;I3<=min(N1,floord(11*I2+2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-5)%12 == 0) {
+      I2 = (4*N1-5)/12 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1-1,6);I2<=floord(2*N1+5,6);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+4,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 25) {
+  if ((4*N1-4)%3 == 0) {
+    I1 = (4*N1-4)/3 ;
+    for (I2=1;I2<=floord(N1-7,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=max(ceild(N1-4,6),ceild(N1+8,9));I2<=floord(4*N1-7,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-4)%21 == 0) {
+      I2 = (4*N1-4)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,21);I2<=floord(2*N1-5,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-7)%18 == 0) {
+      I2 = (4*N1-7)/18 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,18);I2<=floord(N1-4,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=2*I2;I3<=floord(6*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (3*I1%4 == 0) {
+        I3 = 3*I1/4 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=3*I2+1;I3<=min(N1,floord(11*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1-1,12);I2<=floord(N1+2,3);I2++) {
+      for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+7,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(max(20,ceild(9*N1-1,7)),ceild(4*N1-3,3));I1<=floord(4*N1-2,3);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1-N1,2),ceild(-2*I1+3*N1,3));I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=I1-N1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=I1-N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=max(max(1,ceild(I1-I2,2)),I1-2*I2);I3<=I1-I2;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(I1-I2+1,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 16) {
+  if ((4*N1-1)%3 == 0) {
+    I1 = (4*N1-1)/3 ;
+    for (I2=1;I2<=floord(N1-4,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1-1,6);I2<=floord(4*N1-4,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-1)%21 == 0) {
+      I2 = (4*N1-1)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+2,21);I2<=floord(4*N1-7,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-2)%9 == 0) {
+      I2 = (2*N1-2)/9 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-1)%18 == 0) {
+      I2 = (4*N1-1)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+1,9);I2<=floord(4*N1-7,12);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%3 == 0) {
+      I2 = (N1-1)/3 ;
+      for (I3=ceild(2*N1+1,3);I3<=N1-1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (-1%3 == 0) {
+        I3 = (3*N1-1)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I2=ceild(N1+2,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 15) {
+  if (4*N1%3 == 0) {
+    I1 = 4*N1/3 ;
+    for (I2=1;I2<=floord(N1-3,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1,6);I2<=floord(4*N1-3,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (4*N1%21 == 0) {
+      I2 = 4*N1/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+3,21);I2<=floord(2*N1-3,9);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1-3)%18 == 0) {
+      I2 = (4*N1-3)/18 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (2*N1%9 == 0) {
+      I2 = 2*N1/9 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+3,18);I2<=floord(N1-3,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%3 == 0) {
+      for (I3=ceild(2*N1,3);I3<=floord(2*N1-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+3,6);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 17) {
+  if ((4*N1+1)%3 == 0) {
+    I1 = (4*N1+1)/3 ;
+    for (I2=1;I2<=floord(N1-2,6);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+1,6);I2<=floord(4*N1-2,21);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1+1)%21 == 0) {
+      I2 = (4*N1+1)/21 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(4*N1+4,21);I2<=floord(4*N1-5,18);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((2*N1-1)%9 == 0) {
+      I2 = (2*N1-1)/9 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((4*N1+1)%18 == 0) {
+      I2 = (4*N1+1)/18 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(2*N1+2,9);I2<=floord(N1-5,3);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-2)%3 == 0) {
+      I2 = (N1-2)/3 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+1,3);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(4*N1+2,3);I1<=floord(18*N1-7,13);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if ((I1-1)%6 == 0) {
+    I2 = (I1-1)/6 ;
+    for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((13*I1-1)%18 == 0) {
+      I3 = (13*I1-1)/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%6 == 0) {
+    for (I3=4*I1/6;I3<=floord(13*I1/6-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if (13*I1%18 == 0) {
+      I3 = 13*I1/18 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(13*I1/6+1,3);I3<=min(N1,5*I1/6);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 22) {
+  if ((18*N1-6)%13 == 0) {
+    I1 = (18*N1-6)/13 ;
+    for (I2=1;I2<=floord(5*N1-19,26);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(5*N1-6,26);I2<=floord(18*N1-19,91);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((18*N1-6)%91 == 0) {
+      I2 = (18*N1-6)/91 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(18*N1+7,91);I2<=floord(9*N1-16,39);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((18*N1-19)%78 == 0) {
+      I2 = (18*N1-19)/78 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%13 == 0) {
+      I2 = (3*N1-1)/13 ;
+      for (I3=4*I2;I3<=floord(13*I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if (13*I1%18 == 0) {
+        I3 = 13*I1/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+1,3);I3<=min(N1,5*I2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+12)%13 == 0) {
+      I2 = (3*N1+12)/13 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+25,13);I2<=floord(4*N1+3,13);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(8*N1+19,26);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 21) {
+  if ((18*N1-5)%13 == 0) {
+    I1 = (18*N1-5)/13 ;
+    for (I2=1;I2<=floord(5*N1-18,26);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(5*N1-5,26);I2<=floord(18*N1-18,91);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((18*N1-5)%91 == 0) {
+      I2 = (18*N1-5)/91 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(18*N1+8,91);I2<=floord(18*N1-31,78);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((2*I1+I2)%3 == 0) {
+        I3 = (2*I1+I2)/3 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-3)%13 == 0) {
+      I2 = (3*N1-3)/13 ;
+      for (I3=4*I2+1;I3<=floord(13*I2+1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      if ((13*I1-1)%18 == 0) {
+        I3 = (13*I1-1)/18 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(13*I2+3,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+10)%13 == 0) {
+      I2 = (3*N1+10)/13 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+23,13);I2<=floord(8*N1+5,26);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(4*N1+9,13);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(18*N1-4,13),ceild(4*N1+2,3));I1<=min(floord(21*N1-8,15),floord(18*N1-1,13));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=ceild(18*N1,13);I1<=min(floord(21*N1-8,15),floord(18*N1+1,13));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 17) && (N1 <= 25)) {
+  if ((21*N1-7)%15 == 0) {
+    I1 = (21*N1-7)/15 ;
+    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%15 == 0) {
+      I2 = (3*N1-1)/15 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+14)%15 == 0) {
+      I2 = (3*N1+14)/15 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(18*N1+2,13);I1<=min(floord(21*N1-8,15),floord(18*N1+5,13));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 35) && (N1 >= 31)) {
+  if ((21*N1-7)%15 == 0) {
+    I1 = (21*N1-7)/15 ;
+    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%15 == 0) {
+      I2 = (3*N1-1)/15 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+14)%15 == 0) {
+      I2 = (3*N1+14)/15 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 >= 16) && (N1 <= 21)) {
+  if ((7*N1-2)%5 == 0) {
+    I1 = (7*N1-2)/5 ;
+    for (I2=1;I2<=floord(2*N1-7,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%5 == 0) {
+      I2 = (N1-1)/5 ;
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+4)%5 == 0) {
+      I2 = (N1+4)/5 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*I2+3*N1-2,4);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(18*N1+6,13);I1<=min(floord(21*N1-8,15),floord(18*N1+7,13));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) {
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 <= 55) && (N1 >= 41)) {
+  if ((21*N1-7)%15 == 0) {
+    I1 = (21*N1-7)/15 ;
+    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%15 == 0) {
+      I2 = (3*N1-1)/15 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+14)%15 == 0) {
+      I2 = (3*N1+14)/15 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+29,15);I2<=floord(9*N1+7,30);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 31) && (N1 >= 26)) {
+  if ((7*N1-2)%5 == 0) {
+    I1 = (7*N1-2)/5 ;
+    for (I2=1;I2<=floord(2*N1-7,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%5 == 0) {
+      I2 = (N1-1)/5 ;
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+4)%5 == 0) {
+      I2 = (N1+4)/5 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 18) && (N1 >= 13)) {
+  if ((7*N1-1)%5 == 0) {
+    I1 = (7*N1-1)/5 ;
+    for (I2=1;I2<=floord(N1-3,5);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+2)%5 == 0) {
+      I2 = (N1+2)/5 ;
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(18*N1+8,13);I1<=floord(21*N1-8,15);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=floord(I1-1,7);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  if (I1%7 == 0) {
+    for (I3=ceild(9*I1/7,2);I3<=5*I1/7-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    if (5*I1%7 == 0) {
+      I3 = 5*I1/7 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(15*I1/7+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1+1,7);I2<=-2*I1+3*N1-1;I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=floord(2*I1+I2-1,3);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=ceild(2*I1+I2+1,3);I3<=N1;I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  I2 = -2*I1+3*N1 ;
+  for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+  }
+  for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+    J3 = -I1-2*(I2)+2*I3 ;
+    S2++;
+    J3 = I1-(I2)-(I3) ;
+    S1++;
+  }
+  J1 = -2*I1+3*N1 ;
+  if ((2*I1+J1)%3 == 0) {
+    J2 = (2*I1+J1)/3 ;
+    J3 = 3*I1-4*J2 ;
+    S1++;
+    S2++;
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) {
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if ((N1 >= 61) && (N1 <= 65)) {
+  if ((21*N1-7)%15 == 0) {
+    I1 = (21*N1-7)/15 ;
+    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%15 == 0) {
+      I2 = (3*N1-1)/15 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+14)%15 == 0) {
+      I2 = (3*N1+14)/15 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-7,90);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 51) && (N1 >= 36)) {
+  if ((7*N1-2)%5 == 0) {
+    I1 = (7*N1-2)/5 ;
+    for (I2=1;I2<=floord(2*N1-7,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%5 == 0) {
+      I2 = (N1-1)/5 ;
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+4)%5 == 0) {
+      I2 = (N1+4)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+9,5);I2<=floord(3*N1+2,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 71) {
+  if ((21*N1-7)%15 == 0) {
+    I1 = (21*N1-7)/15 ;
+    for (I2=1;I2<=floord(3*N1-11,15);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    for (I2=ceild(6*N1-7,30);I2<=floord(21*N1-22,105);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1-1)%15 == 0) {
+      I2 = (3*N1-1)/15 ;
+      for (I3=ceild(9*I2,2);I3<=5*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      if (5*I1%7 == 0) {
+        I3 = 5*I1/7 ;
+        J1 = -2*I1+3*I3 ;
+        if ((2*I1+J1)%3 == 0) {
+          J2 = (2*I1+J1)/3 ;
+          J3 = 3*I1-4*J2 ;
+          S1++;
+          S2++;
+        }
+      }
+      for (I3=ceild(15*I2+1,3);I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((3*N1+14)%15 == 0) {
+      I2 = (3*N1+14)/15 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(3*N1+29,15);I2<=floord(21*N1-37,90);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(21*N1-22,90);I2<=floord(21*N1-7,90);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(21*N1+8,90);I2<=floord(9*N1+7,30);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(9*N1+22,30);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 >= 56) && (N1 <= 61)) {
+  if ((7*N1-2)%5 == 0) {
+    I1 = (7*N1-2)/5 ;
+    for (I2=1;I2<=floord(2*N1-7,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%5 == 0) {
+      I2 = (N1-1)/5 ;
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+4)%5 == 0) {
+      I2 = (N1+4)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+9,5);I2<=floord(7*N1-2,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 >= 43) && (N1 <= 48)) {
+  if ((7*N1-1)%5 == 0) {
+    I1 = (7*N1-1)/5 ;
+    for (I2=1;I2<=floord(N1-3,5);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+2)%5 == 0) {
+      I2 = (N1+2)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+7,5);I2<=floord(7*N1-1,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 38) && (N1 >= 23)) {
+  if ((7*N1-1)%5 == 0) {
+    I1 = (7*N1-1)/5 ;
+    for (I2=1;I2<=floord(N1-3,5);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+2)%5 == 0) {
+      I2 = (N1+2)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+7,5);I2<=floord(3*N1+1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 >= 30) && (N1 <= 35)) {
+  if (7*N1%5 == 0) {
+    I1 = 7*N1/5 ;
+    for (I2=1;I2<=floord(2*N1-5,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%5 == 0) {
+      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+5,5);I2<=floord(7*N1,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if ((N1 <= 25) && (N1 >= 10)) {
+  if (7*N1%5 == 0) {
+    I1 = 7*N1/5 ;
+    for (I2=1;I2<=floord(2*N1-5,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%5 == 0) {
+      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+5,5);I2<=floord(3*N1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 66) {
+  if ((7*N1-2)%5 == 0) {
+    I1 = (7*N1-2)/5 ;
+    for (I2=1;I2<=floord(2*N1-7,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1-1)%5 == 0) {
+      I2 = (N1-1)/5 ;
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+4)%5 == 0) {
+      I2 = (N1+4)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+9,5);I2<=floord(7*N1-12,30);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1-7,30);I2<=floord(7*N1-2,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+3,30);I2<=floord(3*N1+2,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+7,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+if (N1 >= 53) {
+  if ((7*N1-1)%5 == 0) {
+    I1 = (7*N1-1)/5 ;
+    for (I2=1;I2<=floord(N1-3,5);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if ((N1+2)%5 == 0) {
+      I2 = (N1+2)/5 ;
+      for (I3=ceild(3*I2+3*N1,4);I3<=floord(-5*I2+3*N1-2,2);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=ceild(-5*I2+3*N1,2);I3<=floord(3*N1-1,3);I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+7,5);I2<=floord(7*N1-11,30);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1-6,30);I2<=floord(7*N1-1,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+4,30);I2<=floord(3*N1+1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+6,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(7*N1+1,5),ceild(18*N1+6,13));I1<=min(floord(18*N1+7,13),floord(3*N1-2,2));I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=-2*I1+3*N1+1;I2<=floord(I1,6);I2++) {
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 == 12) {
+  for (I2=1;I2<=2;I2++) {
+    for (I3=ceild(17+2*I2,2);I3<=min(N1,floord(2*17+3*I2,3));I3++) {
+      J3 = -(17)-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I3=17-2*(3);I3<=floord(17+2*3-1,2);I3++) {
+    J3 = 17-(I2)-(I3) ;
+    S1++;
+  }
+  for (I3=ceild(17+2*3,2);I3<=N1;I3++) {
+    J3 = -(17)-2*(I2)+2*I3 ;
+    S2++;
+    J3 = 17-(I2)-(I3) ;
+    S1++;
+  }
+  for (I2=4;I2<=12;I2++) {
+    for (I3=max(max(ceild(17-I2,2),17-2*I2),1);I3<=min(17-I2,N1);I3++) {
+      J3 = 17-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 40) {
+  if (7*N1%5 == 0) {
+    I1 = 7*N1/5 ;
+    for (I2=1;I2<=floord(2*N1-5,10);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%5 == 0) {
+      for (I3=ceild(9*N1,10);I3<=N1-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      J1 = -2*I1+3*N1 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I2=ceild(N1+5,5);I2<=floord(7*N1-10,30);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1-5,30);I2<=floord(7*N1,30);I2++) {
+      for (I3=I1-2*I2;I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(7*N1+5,30);I2<=floord(3*N1,10);I2++) {
+      for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+      for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(3*N1+5,10);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=max(ceild(7*N1+1,5),ceild(18*N1+8,13));I1<=floord(3*N1-2,2);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1-2,6);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=I1-2*I2-1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1-1,6);I2<=floord(I1,6);I2++) {
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=max(max(N1+3,ceild(3*N1-1,2)),ceild(18*N1+6,13));I1<=floord(6*N1-1,4);I1++) {
+  for (I2=1;I2<=floord(I1-N1-1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=max(ceild(I1-N1,2),-2*I1+3*N1+1);I2<=floord(I1,6);I2++) {
+    for (I3=I1-2*I2;I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(I1+1,6);I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=I1-2*I2;I3<=floord(I1+2*I2-1,2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=N1;I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+  for (I2=ceild(-I1+2*N1+1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+if (N1 >= 6) {
+  if (3*N1%2 == 0) {
+    I1 = 3*N1/2 ;
+    for (I2=1;I2<=floord(N1-2,4);I2++) {
+      for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+      }
+    }
+    if (N1%4 == 0) {
+      for (I3=I1-2*(N1/4);I3<=N1;I3++) {
+        J3 = -I1-2*(I2)+2*I3 ;
+        S2++;
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+    for (I2=ceild(N1+2,4);I2<=N1;I2++) {
+      for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+        J3 = I1-(I2)-(I3) ;
+        S1++;
+      }
+    }
+  }
+}
+for (I1=ceild(3*N1+1,2);I1<=2*N1-2;I1++) {
+  for (I2=1;I2<=floord(-I1+2*N1,2);I2++) {
+    for (I3=ceild(I1+2*I2,2);I3<=min(N1,floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+  for (I2=ceild(I1-N1,2);I2<=N1;I2++) {
+    for (I3=max(max(ceild(I1-I2,2),I1-2*I2),1);I3<=min(I1-I2,N1);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+for (I1=2*N1-1;I1<=3*N1;I1++) {
+  for (I2=max(ceild(I1-N1,2),1);I2<=N1;I2++) {
+    for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+  }
+}
+
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+    fprintf(stderr, "S2 : %d\n", S2);
+
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387
+Content-Type: application/octet-stream; name=LUDom_OSP.type2.c
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="LUDom_OSP.type2.c"
+
+/* Author : DaeGon Kim 
+   Date   : Tue Apr 26 20:28:07 MDT 2005 */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define max(x,y) ((x)>(y) ? (x) : (y))
+#define min(x,y) ((x)>(y) ? (y) : (x))
+#define ceild(x,y) ((x)+1) / (y) 
+#define floord(x,y) (x) / (y) 
+
+int main(int argc, char **argv) {
+
+    /* parameters declaration */
+    int N1 = 0;
+
+    /* statements declaration */
+    int S1 = 0;
+    int S2 = 0;
+
+    /* iterators declaration */
+    int I1 = 0;
+    int J1 = 0;
+    int I2 = 0;
+    int J2 = 0;
+    int I3 = 0;
+    int J3 = 0;
+
+    /* check arguements and get values of parameters */
+    if ( argc != 1 + 1) {
+        printf("The number of arguements for %s is 1\n", argv[0]);
+        exit(0);
+    }
+
+    N1 = atoi(argv[1]);
+
+/* Generated from ./INPUT/CLOOG/LUDom_OSP_cloog by CLooG v0.12.2 64 bits in 0.03s. */
+for (I1=0;I1<=3*N1;I1++) {
+  for (I2=max(max(1,ceild(I1-2*N1+2,2)),I1-2*N1);I2<=N1;I2++) {
+    for (I3=max(max(I1-2*I2,ceild(I1-I2,2)),1);I3<=min(min(N1,floord(I1+2*I2-1,2)),I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=ceild(I1+2*I2,2);I3<=min(min(N1,I1-2*I2-1),floord(2*I1+3*I2,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=max(I1-2*I2,ceild(I1+2*I2,2));I3<=min(N1,floord(2*I1+I2-1,3));I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    if ((2*I1+I2)%3 == 0) {
+      I3 = (2*I1+I2)/3 ;
+      J1 = -2*I1+3*I3 ;
+      if ((2*I1+J1)%3 == 0) {
+        J2 = (2*I1+J1)/3 ;
+        J3 = 3*I1-4*J2 ;
+        S1++;
+        S2++;
+      }
+    }
+    for (I3=max(I1-2*I2,ceild(2*I1+I2+1,3));I3<=min(min(N1,floord(2*I1+3*I2,3)),I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+    for (I3=max(ceild(2*I1+3*I2+1,3),I1-2*I2);I3<=min(N1,I1-I2);I3++) {
+      J3 = I1-(I2)-(I3) ;
+      S1++;
+    }
+    for (I3=max(ceild(I1+2*I2,2),I1-I2+1);I3<=min(floord(2*I1+3*I2,3),N1);I3++) {
+      J3 = -I1-2*(I2)+2*I3 ;
+      S2++;
+    }
+  }
+}
+
+
+    /* statements print */
+    fprintf(stderr, "S1 : %d\n", S1);
+    fprintf(stderr, "S2 : %d\n", S2);
+
+
+}
+
+
+
+------=_Part_1422_26966204.1114622640387--
+
+
diff --git a/test/reports/kristof_beyls_16-05-2005.txt b/test/reports/kristof_beyls_16-05-2005.txt
new file mode 100644 (file)
index 0000000..dcda755
--- /dev/null
@@ -0,0 +1,933 @@
+Dear Dr. Bastoul,
+
+At the university of Ghent, we are starting to look
+at automatic optimization of loops to optimize the implementation
+in an FPGA. With the advent of your Cloog tool, we think
+it becomes possible to use the polyhedral model
+for the kind of optimizations we are thinking about, instead of using
+optimizations based on transforming abstract syntax trees.
+
+As a first test, we started with the representation of a
+wavelet decoder loop kernel in Cloog format. We do this
+by starting from a Fortran77-description, parse it
+using our FPT compiler and PolyAst-library, and then
+generate the Cloog data structures. Then we use
+the function cloog_program_dump_cloog to obtain an
+ASCII-file representing the code in Cloog-format.
+
+However, when trying to read in the generated file,
+we found that the generated file was incorrect, and
+I think the cause is in two small bugs in the
+function cloog_program_dump_cloog. After I've
+corrected them, the generated file seems correct
+(i.e. cloog can correctly read the generated file).
+
+I've attached the adapted program.c source file.
+I only changed the function cloog_program_dump_cloog,
+and now it looks as follows:
+
+void cloog_program_dump_cloog(FILE * foo, CloogProgram * program)
+{ int i, j ;
+  Matrix * matrix ;
+  Polyhedron * polyhedron ;
+  CloogLoop * loop ;
+
+  fprintf(foo,
+  "# CLooG -> CLooG\n"
+  "# This is an automatic dump of an input file from a CloogProgram data\n"
+  "# structure. It can be correct ONLY if dumped before loop generation.\n") ;
+
+  /* Language. */
+  if (program->language == 'c')
+  fprintf(foo,"# Langage: C\n") ;
+  else
+  fprintf(foo,"# Langage: FORTRAN\n") ;
+  fprintf(foo,"%c\n\n",program->language) ;
+
+  /* Context. */
+  fprintf(foo,"# Context (%d parameter(s)):\n",program->context->Dimension) ;
+  matrix = cloog_domain_domain2matrix(program->context) ;
+  cloog_domain_matrix_print(foo,matrix);
+  cloog_domain_matrix_free(matrix);
+  fprintf(foo,"1 # Parameter name(s)\n") ;
+  for (i=0;i<program->names->nb_parameters;i++)
+  fprintf(foo,"%s ",program->names->parameters[i]) ;
+
+  /* Statement number. */
+  i = 0 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { i++ ;
+    loop = loop->next ;
+  }
+  fprintf(foo,"\n\n# Statement number:\n%d\n\n",i) ;
+
+  /* Iteration domains. */
+  i = 1 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { /* Name of the domain. */
+    fprintf(foo,"# Iteration domain of statement %d.\n",i) ;
+
+    /* Number of polyhedron inside the union of disjoint polyhedra. */
+    j = 0 ;
+    polyhedron = /* KB 15.05.2005 remove program->, since otherwise
+                    the number of polytopes describing the iteration
+                    space of the first loop will be printed, instead
+                    of the number of polytopes for the current loop. program->*/loop->domain ;
+    while (polyhedron != NULL)
+    { j++ ;
+      polyhedron = polyhedron->next ;
+    }
+    fprintf(foo,"%d\n",j) ;
+
+    /* The polyhedra themselves. */
+    polyhedron = loop->domain ;
+    while (polyhedron != NULL)
+    { matrix = cloog_domain_domain2matrix(polyhedron) ;
+      cloog_domain_matrix_print(foo,matrix);
+      cloog_domain_matrix_free(matrix);
+      polyhedron = polyhedron->next ;
+    }
+    /* KB 15.05.2005 : options should be printed once per statement, not once
+       per polytope */
+      fprintf(foo,"0 0 0 # For future options.\n\n") ;
+    i++ ;
+    loop = loop->next ;
+  }
+  fprintf(foo,"\n1 # Iterator name(s)\n") ;
+  for (i=0;i<program->names->nb_iterators;i++)
+  fprintf(foo,"%s ",program->names->iterators[i]) ;
+  fprintf(foo,"\n\n") ;
+
+  /* Scattering functions (none since included inside domains). */
+  fprintf(foo,"# No scattering functions.\n0\n\n") ;
+}
+
+
+The two changes are indicated by comments starting with the letters 'KB'.
+
+I'm sending you these changes, so that they can be incorporated in the
+next version of cloog, if you find them to be correct.
+
+with kinds regards,
+
+Kristof Beyls
+
+P.S.: I'm currently studying your work about loop chunking, since I'll
+need some kind of generalized loop tiling transformation that extends over
+multiple loop nests, to get an efficient implementation of the wavelet
+code in an FPGA.
+
+
+-- -------------------------------------------------------------------- Parallel Information Systems Tel: +32(9)2649528 Universiteit Gent Fax: +32(9)2643594 St.-Pietersnieuwstraat 41 E-mail: Kristof.Beyls@elis.ugent.be B-9000 Gent, Belgium http://www.elis.ugent.be/~kbeyls --------------------------------------------------------------------
+
+
+
+
+   /**-------------------------------------------------------------------**
+    **                              CLooG                                **
+    **-------------------------------------------------------------------**
+    **                            program.c                              **
+    **-------------------------------------------------------------------**
+    **                 First version: october 25th 2001                  **
+    **-------------------------------------------------------------------**/
+
+
+/******************************************************************************
+ *               CLooG : the Chunky Loop Generator (experimental)             *
+ ******************************************************************************
+ *                                                                            *
+ * Copyright (C) 2001 Cedric Bastoul                                          *
+ *                                                                            *
+ * This is free software; you can redistribute it and/or modify it under the  *
+ * terms of the GNU General Public License as published by the Free Software  *
+ * Foundation; either version 2 of the License, or (at your option) any later *
+ * version.                                                                   *
+ *                                                                            *
+ * This software is distributed in the hope that it will be useful, but       *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
+ * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
+ * for more details.                                                          *
+ *                                                                            *
+ * You should have received a copy of the GNU General Public License along    *
+ * with software; if not, write to the Free Software Foundation, Inc.,        *
+ * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
+ *                                                                            *
+ * CLooG, the Chunky Loop Generator                                           *
+ * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
+ *                                                                            *
+ ******************************************************************************/
+/* CAUTION: the english used for comments is probably the worst you ever read,
+ *          please feel free to correct and improve it !
+ */
+
+
+# include <sys/types.h>
+# include <sys/time.h>
+# include <sys/resource.h>
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+# include <ctype.h>
+# include "../include/cloog/cloog.h"
+
+
+/******************************************************************************
+ *                          Structure display function                        *
+ ******************************************************************************/
+
+/* cloog_program_print function:
+ * This function prints the content of a CloogProgram structure (program) into a
+ * file (foo, possibly stdout).
+ */
+void cloog_program_print(FILE * foo, CloogProgram * program)
+{ fprintf(foo,"Program:\n") ;
+  fprintf(foo,"Language %c.\n",program->language) ;
+  fprintf(foo,"Scattering dimension number = %d.\n",program->scattdims) ;
+
+  cloog_names_print(foo,program->names) ;
+  fprintf(foo,"Under the context:\n") ;
+  cloog_domain_print(foo,program->context) ;
+  fprintf(foo,"\n") ;
+  cloog_loop_print(foo,program->loop) ;
+}
+
+
+/* cloog_program_dump_cloog function:
+ * This function dumps a CloogProgram structure supposed to be completely
+ * filled in a CLooG input file (foo possibly stdout) such as CLooG can
+ * rebuild almost exactly the data structure from the input file (the number
+ * of scattering functions is lost since they are included inside the
+ * iteration domains, this can only lead to a less beautiful pretty printing).
+ * 27 june 2003: first version.
+ */
+void cloog_program_dump_cloog(FILE * foo, CloogProgram * program)
+{ int i, j ;
+  Matrix * matrix ;
+  Polyhedron * polyhedron ;
+  CloogLoop * loop ;
+  
+  fprintf(foo,
+  "# CLooG -> CLooG\n"
+  "# This is an automatic dump of an input file from a CloogProgram data\n"
+  "# structure. It can be correct ONLY if dumped before loop generation.\n") ;
+
+  /* Language. */
+  if (program->language == 'c')
+  fprintf(foo,"# Langage: C\n") ;
+  else
+  fprintf(foo,"# Langage: FORTRAN\n") ;
+  fprintf(foo,"%c\n\n",program->language) ;
+
+  /* Context. */
+  fprintf(foo,"# Context (%d parameter(s)):\n",program->context->Dimension) ;
+  matrix = cloog_domain_domain2matrix(program->context) ;
+  cloog_domain_matrix_print(foo,matrix);
+  cloog_domain_matrix_free(matrix);
+  fprintf(foo,"1 # Parameter name(s)\n") ;
+  for (i=0;i<program->names->nb_parameters;i++)
+  fprintf(foo,"%s ",program->names->parameters[i]) ;
+
+  /* Statement number. */
+  i = 0 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { i++ ;
+    loop = loop->next ;
+  } 
+  fprintf(foo,"\n\n# Statement number:\n%d\n\n",i) ;
+   
+  /* Iteration domains. */
+  i = 1 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { /* Name of the domain. */
+    fprintf(foo,"# Iteration domain of statement %d.\n",i) ;
+  
+    /* Number of polyhedron inside the union of disjoint polyhedra. */
+    j = 0 ;
+    polyhedron = /* KB 15.05.2005 remove program->, since otherwise
+                    the number of polytopes describing the iteration
+                    space of the first loop will be printed, instead
+                    of the number of polytopes for the current loop. program->*/loop->domain ;
+    while (polyhedron != NULL)
+    { j++ ;
+      polyhedron = polyhedron->next ;
+    } 
+    fprintf(foo,"%d\n",j) ;
+
+    /* The polyhedra themselves. */
+    polyhedron = loop->domain ;
+    while (polyhedron != NULL)
+    { matrix = cloog_domain_domain2matrix(polyhedron) ;
+      cloog_domain_matrix_print(foo,matrix);
+      cloog_domain_matrix_free(matrix);
+      polyhedron = polyhedron->next ;
+    }
+    /* KB 15.05.2005 : options should be printed once per statement, not once
+       per polytope */
+      fprintf(foo,"0 0 0 # For future options.\n\n") ;
+    i++ ;
+    loop = loop->next ;
+  } 
+  fprintf(foo,"\n1 # Iterator name(s)\n") ;
+  for (i=0;i<program->names->nb_iterators;i++)
+  fprintf(foo,"%s ",program->names->iterators[i]) ;
+  fprintf(foo,"\n\n") ;
+  
+  /* Scattering functions (none since included inside domains). */
+  fprintf(foo,"# No scattering functions.\n0\n\n") ;
+}
+
+
+/* cloog_program_dump_loopgen function:
+ * This function dumps a CloogProgram structure supposed to be completely
+ * filled in a LoopGen input file (foo possibly stdout) such as LoopGen can
+ * generate the code for this problem. If the user of CLooG had the bad idea
+ * to put the scattering functions directly inside the iteration domains, the
+ * time dimension of LoopGen is supposed to be 1.
+ * 27 june 2003: first version (should work but do not...).
+ */
+void cloog_program_dump_loopgen(FILE * foo, CloogProgram * program)
+{ int i, j, time ;
+  Matrix * matrix ;
+  Polyhedron * polyhedron ;
+  CloogLoop * loop ;
+  
+  /* Statement number and time dimensions. */
+  i = 0 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { i++ ;
+    loop = loop->next ;
+  } 
+  if (program->scattdims)
+  time = program->scattdims ;
+  else
+  time = 1 ;
+  fprintf(foo,"%d %d 1\n\n",i,time) ;
+
+  fprintf(foo,
+  "# CLooG -> LoopGen\n"
+  "# This is an automatic dump of an input file from a CloogProgram data\n"
+  "# structure. It can be correct ONLY if dumped before loop generation.\n\n") ;
+
+  /* Context. */
+  fprintf(foo,"# Context (%d parameter(s)):\n1\n",program->context->Dimension) ;
+  matrix = cloog_domain_domain2matrix(program->context) ;
+  cloog_domain_matrix_print(foo,matrix);
+  cloog_domain_matrix_free(matrix);
+  fprintf(foo,"\n") ;
+   
+  /* Iteration domains. */
+  i = 1 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { /* Number of polyhedron inside the union of disjoint polyhedra. */
+    j = 0 ;
+    polyhedron = program->loop->domain ;
+    while (polyhedron != NULL)
+    { j++ ;
+      polyhedron = polyhedron->next ;
+    } 
+    fprintf(foo,"%d\n",j) ;
+
+    /* Name of the domain. */
+    fprintf(foo,"# Iteration domain of statement %d.\n",i) ;
+    
+    /* The polyhedra themselves. */
+    polyhedron = loop->domain ;
+    while (polyhedron != NULL)
+    { matrix = cloog_domain_domain2matrix(polyhedron) ;
+      cloog_domain_matrix_print(foo,matrix);
+      cloog_domain_matrix_free(matrix);
+       polyhedron = polyhedron->next ;
+    }
+    fprintf(foo,"\n") ;
+    i++ ;
+    loop = loop->next ;
+  } 
+}
+
+
+/* cloog_program_dump_omega function:
+ * This function dumps a CloogProgram structure supposed to be completely
+ * filled in a OMEGA Calculator file (foo possibly stdout) such as OC can
+ * generate the code for this problem. If the user of CLooG had the bad idea
+ * to put the scattering functions directly inside the iteration domains, they
+ * will be added in the corresponding iteration domain for OMEGA with some
+ * equalities, so he need to pray (because OMEGA and equalities are really
+ * not friends)...
+ * December 7th 2003: first version.
+ */
+void cloog_program_dump_omega(FILE * foo, CloogProgram * program)
+{ int i, j, k, first, nb_iterators, nb_parameters, max_depth=0,
+      statement_number ;
+  Polyhedron * polyhedron ;
+  CloogLoop * loop ;
+  Value sign ;
+  
+  fprintf(foo,
+  "# CLooG -> OMEGA\n"
+  "# This is an automatic dump of an input file from a CloogProgram data\n"
+  "# structure. It can be correct ONLY if dumped before loop generation.\n\n") ;
+
+  nb_parameters = program->context->Dimension ;
+  
+  /* Context. */
+  fprintf(foo,"# Context (%d parameter(s)).\n",nb_parameters) ;
+  if (nb_parameters >= 1)
+  { fprintf(foo,"Symbolic %s",program->names->parameters[0]) ;
+    for (i=1;i<nb_parameters;i++)
+    fprintf(foo,", %s",program->names->parameters[i]) ;
+    fprintf(foo," ;\n\n") ;
+  }
+
+  /* Statements. */
+  fprintf(foo,"# Iteration domains:\n") ;
+  statement_number = 1 ;
+  loop = program->loop ;
+  while (loop != NULL)
+  { nb_iterators = loop->domain->Dimension - nb_parameters ;
+    if (nb_iterators > max_depth)
+    max_depth = nb_iterators ;
+    
+    /* Name of the statement. */
+    fprintf(foo,"IS%d0:={",statement_number) ;
+  
+    /* Dimensions. */
+    fprintf(foo,"[") ;
+    if (nb_iterators-program->scattdims >= 1)
+    { fprintf(foo,"%s",program->names->iterators[program->scattdims]) ;
+      for (j=program->scattdims+1;j<nb_iterators;j++)
+      fprintf(foo,",%s",program->names->iterators[j]) ;
+    }
+    fprintf(foo,"]: ") ;
+  
+    /* Number of polyhedron inside the union of disjoint polyhedra
+     * (must be 1 for OMEGA, we just check it).
+     */
+    j = 0 ;
+    polyhedron = program->loop->domain ;
+    while (polyhedron != NULL)
+    { j++ ;
+      polyhedron = polyhedron->next ;
+    }
+    if (j > 1)
+    { fprintf(stderr,"[CLooG]ERROR: the problem cannot be dumped for OMEGA.\n");
+      exit(0) ;
+    }
+
+    /* The polyhedra themselves. */
+    polyhedron = loop->domain ;
+    for (j=program->scattdims;j<polyhedron->NbConstraints;j++)
+    { first = 1 ;
+      
+      if (j > program->scattdims)
+      fprintf(foo," && ") ;
+    
+      /* The coefficients of the iterators and the parameters. */
+      for (k=1;k<=polyhedron->Dimension;k++)
+      if (polyhedron->Constraint[j][k] != 0)
+      { if (!first)
+        { if (polyhedron->Constraint[j][k] > 0)
+          fprintf(foo,"+") ;
+        }
+       else
+        first = 0 ;
+       
+        if ((polyhedron->Constraint[j][k] != 1) &&
+           (polyhedron->Constraint[j][k] != -1))
+        fprintf(foo,VALUE_FMT,polyhedron->Constraint[j][k]) ;
+       else
+        if (polyhedron->Constraint[j][k] == -1)
+        fprintf(foo,"-") ;
+       
+        if (k<=nb_iterators)
+        fprintf(foo,"%s",program->names->iterators[k-1]) ;
+        else
+        fprintf(foo,"%s",program->names->parameters[k-1-nb_iterators]) ;
+      }
+      
+      /* The constant (k has the good value after the loop). */
+      if (polyhedron->Constraint[j][k] != 0)
+      { if (!first)
+        { if (polyhedron->Constraint[j][k] > 0)
+         fprintf(foo,"+") ;
+        }
+        fprintf(foo,VALUE_FMT,polyhedron->Constraint[j][k]) ;
+      }
+      
+      /* The (in)equality to 0. */
+      if (polyhedron->Constraint[j][0] == 0)
+      fprintf(foo,"=0") ;
+      else
+      fprintf(foo,">=0") ;
+    }
+    fprintf(foo,"} ;\n") ;
+    
+    if ((loop = loop->next) != NULL)
+    statement_number ++ ;
+  }
+  
+  /* Scattering functions (scheduling for OMEGA). */
+  loop = program->loop ;
+  if (program->scattdims > 0)
+  { statement_number = 1 ;
+    loop = program->loop ;
+    fprintf(foo,"\n# Schedules:\n") ;
+    
+    while (loop != NULL)
+    { nb_iterators = loop->domain->Dimension - nb_parameters ;
+      if (nb_iterators > max_depth)
+      max_depth = nb_iterators ;
+    
+      /* Name of the statement. */
+      fprintf(foo,"T%d0:={",statement_number) ;
+  
+      /* Dimensions. */
+      fprintf(foo,"[") ;
+      if (nb_iterators-program->scattdims >= 1)
+      { fprintf(foo,"%s",program->names->iterators[program->scattdims]) ;
+        for (j=program->scattdims+1;j<nb_iterators;j++)
+        fprintf(foo,",%s",program->names->iterators[j]) ;
+      }
+      fprintf(foo,"] -> [") ;
+  
+      /* The functions themselves. */
+      polyhedron = loop->domain ;
+      for (j=0;j<program->scattdims;j++)
+      { first = 1 ;
+      
+        if (j > 0)
+        fprintf(foo,",") ;
+    
+        /* We assume that the coefficient of the scattering iterator is 1. */
+        if ((polyhedron->Constraint[j][j+1] != 1) &&
+            (polyhedron->Constraint[j][j+1] != -1))
+        { fprintf(stderr,"[CLooG]ERROR: scattering dimension coefficients must "
+                         "be 1 or -1to dump for OMEGA.") ;
+          exit(0) ;
+        }
+      
+        /* Depending on the sign of the scattering coefficient, the
+        * coefficient for the scheduling expression.
+        */
+       if (polyhedron->Constraint[j][j+1] == 1)
+        sign = -1 ;
+        else
+        sign = 1 ;
+      
+        /* The coefficients of the iterators and the parameters. */
+        for (k=program->scattdims+1;k<=polyhedron->Dimension;k++)
+        if (polyhedron->Constraint[j][k] != 0)
+        { if (!first)
+          { if (sign*polyhedron->Constraint[j][k] > 0)
+            fprintf(foo,"+") ;
+          }
+         else
+          first = 0 ;
+
+          if ((polyhedron->Constraint[j][k] != 1) &&
+             (polyhedron->Constraint[j][k] != -1))
+          fprintf(foo,VALUE_FMT,sign*polyhedron->Constraint[j][k]) ;
+         else
+          if (sign*polyhedron->Constraint[j][k] == -1)
+          fprintf(foo,"-") ;
+       
+          if (k<=nb_iterators)
+          fprintf(foo,"%s",program->names->iterators[k-1]) ;
+          else
+          fprintf(foo,"%s",program->names->parameters[k-1-nb_iterators]) ;
+        }
+      
+        /* The constant (k has the good value after the loop). */
+        if (polyhedron->Constraint[j][k] != 0)
+        { if (!first)
+          { if (sign*polyhedron->Constraint[j][k] > 0)
+           fprintf(foo,"+") ;
+          }
+          fprintf(foo,VALUE_FMT,sign*polyhedron->Constraint[j][k]) ;
+        }
+       else
+       { if (first)
+         fprintf(foo,"0") ;
+       }
+      }
+    
+      /* The scheduling expressions 'a la CLooG' end with the original
+       * dimensions...
+       */
+      if (nb_iterators >= 1)
+      { for (j=program->scattdims;j<nb_iterators;j++)
+        fprintf(foo,",%s",program->names->iterators[j]) ;
+      }
+    
+      /* ...and possibly zeros in order for the scheduling functions to have
+       * the same dimension number.
+       */
+      for (j=nb_iterators;j<max_depth;j++)
+      fprintf(foo,",0") ;
+    
+      fprintf(foo,"]} ;\n") ;
+    
+      if ((loop = loop->next) != NULL)
+      statement_number ++ ;
+    }
+  }
+  
+  /* The codegen call. */
+  fprintf(foo,"\n# CodeGen call:\n") ;
+  fprintf(foo,"codegen %d ",max_depth) ;
+  if (statement_number > 0)
+  { if (program->scattdims != 0)
+    fprintf(foo,"T10:") ;
+    fprintf(foo,"IS10") ;
+    for (i=1;i<statement_number;i++)
+    { fprintf(foo,", ") ;
+      if (program->scattdims != 0)
+      fprintf(foo,"T%d0:",i+1) ;
+      fprintf(foo,"IS%d0",i+1) ;
+    }
+  }
+  fprintf(foo," ;\n") ; 
+}
+
+
+/* cloog_program_pprint function:
+ * This function prints the content of a CloogProgram structure (program) into a
+ * file (foo, possibly stdout), in a C-like language.
+ */
+void cloog_program_pprint(foo, program, options)
+FILE * foo ;
+CloogProgram * program ;
+CloogOptions * options ;
+{ CloogInfos * infos ;
+  
+  infos = (CloogInfos *)malloc(sizeof(CloogInfos)) ;
+  infos->nb_iterators  = program->names->nb_iterators ;
+  infos->nb_parameters = program->names->nb_parameters ;
+  infos->iterators     = program->names->iterators ;
+  infos->parameters    = program->names->parameters ;
+  infos->scattdims     = program->scattdims ;  
+  infos->options       = options ;
+  /* Allocation for the array of strides, there is a +1 since the statement can
+   * be included inside an external loop without iteration domain.
+   */ 
+  infos->stride        =(Value *)malloc((infos->nb_iterators+1)*sizeof(Value)) ;
+       
+  if (program->language == 'f')
+  infos->language      = LANGUAGE_FORTRAN ;
+  else
+  infos->language      = LANGUAGE_C ;
+  if (program->language == 'f')
+  fprintf(foo,"! Generated from %s by CLooG v%s %s bits in %.2fs.\n",
+          options->name,CLOOG_RELEASE,CLOOG_VERSION,options->time) ;
+  else
+  fprintf(foo,"/* Generated from %s by CLooG v%s %s bits in %.2fs. */\n",
+          options->name,CLOOG_RELEASE,CLOOG_VERSION,options->time) ;
+  
+  pprint(foo,program->loop,NULL,1,0,infos) ;
+  
+  free(infos->stride) ;
+  free(infos) ;
+}
+
+
+/******************************************************************************
+ *                         Memory deallocation function                       *
+ ******************************************************************************/
+
+
+/* cloog_program_free function:
+ * This function frees the allocated memory for a CloogProgram structure.
+ */
+void cloog_program_free(CloogProgram * program)
+{ cloog_names_free(program->names) ;
+  cloog_loop_free(program->loop) ;
+  cloog_domain_free(program->context) ;
+  free(program) ;
+}
+
+
+/******************************************************************************
+ *                               Reading function                             *
+ ******************************************************************************/
+
+
+/* cloog_program_read function:
+ * This function read the informations to put in a CloogProgram structure from
+ * a file (foo, possibly stdin). It returns a pointer to a CloogProgram
+ * structure containing the read informations.
+ * October 25th 2001: first version.
+ * September 9th 2002: - the big reading function is now splitted in several
+ *                       functions (one per read data structure).
+ *                     - adaptation to the new file format with naming.
+ */
+CloogProgram * cloog_program_read(FILE * foo)
+{ int i, nb_statements, nb_parameters, nb_iterators ;
+  char s[MAX_STRING], language, ** scat_names, prefix[2]={'c','\0'} ;
+  CloogLoop * current, * next ;
+  CloogNames * names ;
+  CloogDomainList * scattering ;
+  CloogProgram * p ;
+  
+  /* Memory allocation for the CloogProgram structure. */
+  p = (CloogProgram *)malloc(sizeof(CloogProgram)) ;
+  if (p == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+
+  /* Memory allocation for the CloogNames structure. */
+  names = (CloogNames *)malloc(sizeof(CloogNames)) ;
+  if (names == NULL) 
+  { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+    exit(1) ;
+  }
+  
+  /* First of all, we read the language to use. */
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#'||*s=='\n') || (sscanf(s," %c",&language)<1))
+  fgets(s,MAX_STRING,foo) ;
+  p->language = language ;
+
+  /* We then read the context data. */
+  p->context = cloog_domain_read(foo) ;
+  nb_parameters = p->context->Dimension ;
+  
+  /* Reading of the parameter names. */
+  names->nb_parameters = nb_parameters ;
+  names->parameters = cloog_names_read(foo,nb_parameters,NULL,FIRST_PARAMETER) ;
+      
+  /* We read the statement number. */
+  while (fgets(s,MAX_STRING,foo) == 0) ;
+  while ((*s=='#'||*s=='\n') || (sscanf(s," %d",&nb_statements)<1))
+  fgets(s,MAX_STRING,foo) ;
+
+  /*printf("%d ",nb_statements) ;*/
+
+  /* Domains reading for each statement. */
+  if (nb_statements > 0)
+  { /* Reading of the first domain. */
+    p->loop = cloog_loop_read(foo,1,nb_parameters) ;
+    if (p->loop->domain != NULL)
+    nb_iterators = p->loop->domain->Dimension - nb_parameters ;
+    else
+    nb_iterators = 0 ;
+    
+    /* And the same for each next domain. */
+    current = p->loop ;
+    for (i=2;i<=nb_statements;i++)
+    { next = cloog_loop_read(foo,i,nb_parameters) ;
+      if (next->domain != NULL)
+      if (next->domain->Dimension - nb_parameters > nb_iterators)
+      nb_iterators = next->domain->Dimension - nb_parameters ;
+      
+      current->next = next ;
+      current = current->next ;
+    }     
+    
+    /* Reading of the iterator names. */
+    names->nb_iterators = nb_iterators ;
+    names->iterators = cloog_names_read(foo,nb_iterators,NULL,FIRST_ITERATOR) ;
+    p->names = names ;
+
+    /* Reading and puting the scattering data in program structure. */
+    scattering = cloog_domain_list_read(foo) ;
+    
+    if (scattering != NULL)
+    { if (cloog_domain_list_quick_same(scattering))
+      { fprintf(stderr, "[CLooG]WARNING: some scattering functions are "
+                        "similar.\n") ;
+      }
+      
+      p->scattdims = scattering->domain->Dimension - p->loop->domain->Dimension;
+      scat_names = cloog_names_read(foo,p->scattdims,prefix,'1') ;
+      cloog_program_scatter(p,scattering,scat_names) ;
+      cloog_domain_list_free(scattering) ;
+      /* Now we can free scat_names since cloog_program_scatter copied it. */
+      for (i=0;i<p->scattdims;i++)
+      free(scat_names[i]) ; 
+      free(scat_names) ; 
+    }
+    else
+    p->scattdims = 0 ;
+  }
+  else
+  { p->loop = NULL ;
+    p->names = NULL ;
+  }
+        
+  return(p) ;
+}
+
+
+/******************************************************************************
+ *                            Processing functions                            *
+ ******************************************************************************/
+
+
+/* cloog_program_statement_count function:
+ * This function returns the number of statements in the whole program. This has
+ * nothing to do here, and I don't remember why and when I wrote it, anyway...
+ */
+int cloog_program_statement_count(CloogLoop * start)
+{ int count=0 ;
+  CloogLoop * loop ;
+  CloogStatement * statement ;
+
+  loop = start ;
+
+  while (loop != NULL)
+  { if (loop->inner != NULL)
+    count += cloog_program_statement_count(loop->inner) ;
+    
+    statement = loop->statement ;
+    
+    while (statement != NULL)
+    { count ++ ;
+      statement = statement->next ;
+    }
+    loop = loop->next ;
+  }
+  
+  return count ;
+}
+
+
+/* cloog_program_generate function:
+ * This function calls the Quillere algorithm for loop scanning. (see the
+ * Quillere paper) and calls the loop simplification function.
+ * - depth is the loop depth we want to optimize (guard free as possible),
+ *   the first loop depth is 1 and anegative value is the infinity depth.
+ * - sep_level is the level number where we want to start loop separation.
+ * October 26th 2001: first version. 
+ */ 
+CloogProgram * cloog_program_generate(program, options)
+CloogProgram * program ;
+CloogOptions * options ;
+{ float time ;
+  struct rusage start, end ;
+  CloogLoop * loop, * simplified ;
+
+  if ((program->scattdims > options->l) && (options->l > 0))
+  fprintf(stderr, "[CLooG]WARNING: -l depth is less than scattering dimension "
+                  "number (the generated code may be illegal).\n") ;
+  
+  if (program->loop == NULL)
+  return program ;
+  else
+  { loop = program->loop ;
+    getrusage(RUSAGE_SELF, &start) ;
+    
+    /* Here we go ! */
+    loop = cloog_loop_generate(loop,program->context,1,
+                               program->context->Dimension,options) ;
+    
+    getrusage(RUSAGE_SELF, &end) ;
+    /* We calculate the time spent in code generation. */
+    time =  (end.ru_utime.tv_usec -  start.ru_utime.tv_usec)/(float)(MEGA) ;
+    time += (float)(end.ru_utime.tv_sec - start.ru_utime.tv_sec) ;
+    options->time = time ;
+    
+    if (loop == NULL)
+    { program->loop = NULL ;
+      return program ;
+    }
+    else
+    { /*cloog_loop_print(stdout,loop) ;*/
+      simplified = cloog_loop_simplify(loop,program->context,1,
+                                       program->context->Dimension);
+      program->loop = simplified ;
+      /*program->loop = loop ;*/
+      return program ;
+    }
+  }
+}
+
+
+/* cloog_program_scatter function:
+ * This function adds the scattering (scheduling) informations in a program.
+ * If names is NULL, this function create names itself such that the i^th
+ * name is ci.
+ * November 6th 2001: first version. 
+ */
+void cloog_program_scatter(program, scattering, names)
+CloogProgram * program ;
+CloogDomainList * scattering ;
+char ** names ;
+{ int i, scattering_dim, scattering_dim2, new_dim, not_enough_constraints=0 ;
+  char ** iterators ;
+  CloogLoop * loop ;
+  
+  if ((program != NULL) && (scattering != NULL))
+  { loop = program->loop ;
+    
+    /* We compute the scattering dimension and check it is >=0. */
+    scattering_dim = scattering->domain->Dimension - loop->domain->Dimension ;
+    if (scattering_dim <= 0)
+    { fprintf(stderr, "[CLooG]ERROR: scattering has not enough dimensions.\n") ;
+      exit(1) ;
+    }
+    if (scattering_dim >= scattering->domain->NbConstraints)
+    not_enough_constraints ++ ;
+    
+    /* We add scattering names in program->iterators. */
+    new_dim = program->names->nb_iterators + scattering_dim ;
+    iterators = (char **)malloc(new_dim*sizeof(char *)) ;
+    if (iterators == NULL) 
+    { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+      exit(1) ;
+    }
+    for (i=0;i<scattering_dim;i++)
+    { iterators[i] = (char *)malloc(MAX_NAME*sizeof(char)) ;
+      if (iterators[i] == NULL) 
+      { fprintf(stderr, "[CLooG]ERROR: memory overflow.\n") ;
+        exit(1) ;
+      }
+      if (names != NULL)
+      strcpy(iterators[i],names[i]) ;
+      else 
+      sprintf(iterators[i],"c%d",i+1) ;
+    }
+    for (i=scattering_dim;i<new_dim;i++)
+    iterators[i] = program->names->iterators[i-scattering_dim] ;
+    free(program->names->iterators) ;
+    program->names->iterators = iterators ;
+
+    /* We update nb_iterators. */
+    program->names->nb_iterators = new_dim ;
+    /* Finally we scatter all loops. */
+    cloog_loop_scatter(loop,scattering->domain) ;
+    loop = loop->next ;
+    scattering = scattering->next ;    
+    
+    while ((loop != NULL) && (scattering != NULL))
+    { scattering_dim2 = scattering->domain->Dimension - loop->domain->Dimension;
+      if (scattering_dim2 != scattering_dim)
+      { fprintf(stderr, "[CLooG]ERROR: "
+                        "scattering dimensions are not the same.\n") ;
+        exit(1) ;
+      }
+      if (scattering_dim2 >= scattering->domain->NbConstraints)
+      not_enough_constraints ++ ;
+      
+      cloog_loop_scatter(loop,scattering->domain) ;
+      loop = loop->next ;
+      scattering = scattering->next ;
+    }
+    if ((loop != NULL) || (scattering != NULL))
+    fprintf(stderr, "[CLooG]WARNING: "
+                    "there is not a scattering for each statement.\n");
+    
+    if (not_enough_constraints)
+    fprintf(stderr, "[CLooG]WARNING: not enough constraints for "
+                    "%d scattering function(s).\n",not_enough_constraints) ;
+  }
+}
+
diff --git a/test/reports/michael_classen_03-05-2005.eml b/test/reports/michael_classen_03-05-2005.eml
new file mode 100644 (file)
index 0000000..9a093dd
--- /dev/null
@@ -0,0 +1,333 @@
+X-UIDL: 39081.1115129722
+X-Mozilla-Status: 0003
+X-Mozilla-Status2: 00000000
+Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1])
+       by relay-4m.club-internet.fr (Postfix) with ESMTP id 6C12EE778
+       for <netced@club-internet.fr>; Tue,  3 May 2005 16:15:21 +0200 (CEST)
+Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j43EFKjc067378
+          for <netced@club-internet.fr>; Tue, 3 May 2005 16:15:20 +0200 (CEST)
+Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1])
+          by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j43EFKC22332
+          for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 16:15:20 +0200 (MEST)
+Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j43EFKO1067308
+          for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 16:15:20 +0200 (CEST)
+Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.198])
+       by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j43EFEcx010341
+       for <cedric.bastoul@inria.fr>; Tue, 3 May 2005 16:15:14 +0200
+Received: by rproxy.gmail.com with SMTP id g11so2187724rne
+        for <cedric.bastoul@inria.fr>; Tue, 03 May 2005 07:15:13 -0700 (PDT)
+DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
+        s=beta; d=gmail.com;
+        h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type;
+        b=mURNw2A/GhnOJGVL9JU10V0oyuem20F2o2SyAnQ92afBYYjaL6F4nCHAOvnFR22dO+BnJzjCtHtWrYaPY7pVPC3GTAwhbJWc6GryjUljT42k06fdCCQtJiveQf+80nbowL2H2d+S+sCP6WUU6l97qjkKidMRQJ5HX7+aZUGL9PQ=
+Received: by 10.38.72.63 with SMTP id u63mr7621232rna;
+        Tue, 03 May 2005 07:15:13 -0700 (PDT)
+Received: by 10.38.76.64 with HTTP; Tue, 3 May 2005 07:15:12 -0700 (PDT)
+Message-ID: <fb09e0cb05050307157dc259b4@mail.gmail.com>
+Date: Tue, 3 May 2005 16:15:12 +0200
+From: Michael Classen <michael.classen@gmail.com>
+Reply-To: michael.classen@gmx.net
+To: =?ISO-8859-1?Q?C=E9dric_Bastoul?= <cedric.bastoul@inria.fr>
+Subject: Boehm garbage-collector for CLooG
+Mime-Version: 1.0
+Content-Type: multipart/mixed; 
+       boundary="----=_Part_4295_2513784.1115129712334"
+X-Miltered: at soleil.uvsq.fr with ID 42778778.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Miltered: at soleil.uvsq.fr with ID 42778778.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Miltered: at nez-perce with ID 42778772.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Tue, 03 May 2005 16:15:20 +0200 (CEST)
+X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Tue, 03 May 2005 16:15:20 +0200 (CEST)
+X-j-chkmail-Score: MSGID : 42778778.000 on soleil.uvsq.fr : j-chkmail score : X : 0/50 1
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+Status:   
+X-Mmail: \Recent                                 
+X-M-Uid: 39081.1115129722
+
+------=_Part_4295_2513784.1115129712334
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+Hello C=E9dric!
+
+As I currently fill you up with annoying problems and work, I thought
+I could in turn provide some help myself.
+
+I played around with the famous B=F6hm garbage-collector for C/C++ (see:
+http://www.hpl.hp.com/personal/Hans_Boehm/gc/) and managed to
+integrate it into a version of CLooG (0.12.3). I modified the
+configure.in script to include a new option "--with-boehm-gc DIR" in
+order to be able to use it if one wants to.
+
+All changes in the source-code of your files are restricted to a
+simple #include "gc.h" directive, that is guarded by a #ifdef
+USE_BOEHMGC. This include directive is inserted at the top of each
+source file and it includes a small header file that performs some
+includes and defines.
+
+I'm sending you my modified configure.in, the additional header file
+and an example of the modiefied source files for a start. If you need
+further information, feel free to ask me.
+
+This garbage collector seems not to improve CLooG's memory usage by
+far, but it could help in your future development (it usually speeds
+up the development process by a big factor).
+
+ciao,
+Michael
+
+------=_Part_4295_2513784.1115129712334
+Content-Type: application/octet-stream; name="configure.in"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="configure.in"
+
+CmRubCAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tKioKZG5sICAqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+IENMb29HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKgpkbmwgICoqLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LSoqCmRubCAgKiogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmUuaW4gICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgKioKZG5sICAqKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qKgpkbmwgICoqICAgICAg
+ICAgICAgICAgICAgIEZpcnN0IHZlcnNpb246IGF1Z3VzdCA3dGggMjAwMiAgICAgICAgICAgICAg
+ICAgICoqCmRubCAgKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovCmRubApkbmwgSW5wdXQgZmlsZSBmb3IgYXV0b2Nv
+bmYgdG8gYnVpbGQgYSBjb25maWd1cmF0aW9uIHNoZWxsc2NyaXB0LgpkbmwgVG8gYnVpbGQgdGhl
+IGNvbmZpZ3VyZSBzY3JpcHQgZnJvbSB0aGUgQ0xvb0cncyB0b3AtbGV2ZWwgZGlyZWN0b3J5LCB1
+c2UKZG5sIGF1dG9jb25mIC1sIGF1dG9jb25mIGF1dG9jb25mL2NvbmZpZ3VyZS5pbiA+IGNvbmZp
+Z3VyZQoKZG5sIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkbmwgKiAgICAgICAgICAgICAgIENMb29HIDog
+dGhlIENodW5reSBMb29wIEdlbmVyYXRvciAoZXhwZXJpbWVudGFsKSAgICAgICAgICAqCmRubCAq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioKZG5sICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgpkbmwgKiBDb3B5cmlnaHQg
+KEMpIDIwMDEgQ2VkcmljIEJhc3RvdWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAqCmRubCAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKZG5sICogVGhpcyBpcyBmcmVlIHNvZnR3YXJl
+OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyICAgKgpkbmwg
+KiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
+ZCBieSB0aGUgRnJlZSAgICAqCmRubCAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz
+aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyICAgICAgICoKZG5sICogb3B0aW9uKSBh
+bnkgbGF0ZXIgdmVyc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgKgpkbmwgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCmRubCAqIFRoaXMgc29mdHdhcmUgaXMgZGlz
+dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0ICAgICoKZG5s
+ICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
+eSBvZiAgICAgICAgICAgICAgKgpkbmwgKiBNRVJDSEFOVEFCSUxJVFlvciBGSVRORVNTIEZPUiBB
+IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VICAgICAgICAqCmRubCAqIEdlbmVyYWwg
+UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICoKZG5sICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgpkbmwgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
+ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyAqCmRu
+bCAqIHdpdGggc29mdHdhcmU7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91
+bmRhdGlvbiwgSW5jLiwgICAgICoKZG5sICogNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJv
+c3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBICAgICAgICAgICAgICAgICAgKgpkbmwgKiAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAqCmRubCAqIENMb29HLCB0aGUgQ2h1bmt5IExvb3AgR2VuZXJhdG9yICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKZG5sICogV3JpdHRlbiBieSBDZWRyaWMg
+QmFzdG91bCwgQ2VkcmljLkJhc3RvdWxAaW5yaWEuZnIgICAgICAgICAgICAgICAgICAgICAgKgpk
+bmwgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAqCmRubCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgpBQ19QUkVSRVEo
+Mi4xMykKQUNfSU5JVChzb3VyY2UvY2xvb2cuYykKQUNfQ09ORklHX0FVWF9ESVIoYXV0b2NvbmYp
+ClJFTEVBU0U9IjAuMTIuMyIKZG5sIGRlZmF1bHQgdmVyc2lvbgpWRVJTSU9OPSI2NCIKCmRubCAv
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioKZG5sICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hl
+Y2tpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgpkbmwgICoqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqLwoKCmRubCBDaGVja3MgZm9yIHR5cGVkZWZzLCBzdHJ1Y3R1cmVzLCBhbmQgY29tcGls
+ZXIgY2hhcmFjdGVyaXN0aWNzLgpBQ19DQU5PTklDQUxfU1lTVEVNIAoKCmRubCBDaGVja3MgZm9y
+IHByb2dyYW1zLgpBQ19QUk9HX0NDCkFDX1BST0dfTE5fUwpBQ19QUk9HX1JBTkxJQgpBQ19QUk9H
+X01BS0VfU0VUCkFDX0NIRUNLX1BST0coQ0QsIGNkKQpkbmwgQ29uZmlndXJlIG5lZWRzIGFuIGVt
+cHR5IGluc3RhbGwuc2ggZmlsZSB3aXRoIHRoaXMsIGkgSEFURSB0aGF0Li4uCkFDX1BST0dfSU5T
+VEFMTAoKCmRubCBDaGVja3MgZm9yIHR5cGVkZWZzLCBzdHJ1Y3R1cmVzLCBhbmQgY29tcGlsZXIg
+Y2hhcmFjdGVyaXN0aWNzLgpBQ19DX0NPTlNUCkFDX1RZUEVfU0laRV9UCgoKZG5sIENoZWNrcyBm
+b3IgbGlicmFyaWVzLgpkbmwgUmVwbGFjZSBgbWFpbicgd2l0aCBhIGZ1bmN0aW9uIGluIC1sYzoK
+QUNfQ0hFQ0tfTElCKGMsbWFpbikKCgpkbmwgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCkFDX0hF
+QURFUl9TVERDCgoKZG5sIENoZWNrcyBmb3IgbGlicmFyeSBmdW5jdGlvbnMuCkFDX0NIRUNLX0ZV
+TkNTKHN0cnRvbCkKCgpkbmwgU2V0IHNvbWUgc3lzdGVtIGRlcGVuZGFudCB2YWx1ZXMuCmNhc2Ug
+IiR0YXJnZXQiIGluCiAgaSotcGMtY3lnd2luKQoJU0hFWFQ9ImRsbCIKCUVYRUNfU1VGRklYPSIu
+ZXhlIgkKCUVYVFJBX0ZMQUdTPSItRENZR1dJTiIKCUVYVFJBX0xJQlM9Ii1sY3lnd2luIC1sa2Vy
+bmVsMzIiCglDTE9PR0xJQj0iY2xvb2dzdGF0aWNsaWIiCglJTlNUQUxMX0NMT09HTElCPSJpbnN0
+YWxsX2Nsb29nc3RhdGljbGliIiA7OwogICopCglTSEVYVD0ic28iCglFWEVDX1NVRkZJWD0iIgoJ
+RVhUUkFfRkxBR1M9IiIKCUVYVFJBX0xJQlM9IiIKCUNMT09HTElCPSJjbG9vZ3NoYXJlZGxpYiBj
+bG9vZ3N0YXRpY2xpYiIKCUlOU1RBTExfQ0xPT0dMSUI9Imluc3RhbGxfY2xvb2dzaGFyZWRsaWIg
+aW5zdGFsbF9jbG9vZ3N0YXRpY2xpYiIgOzsKZXNhYwoKCmRubCAvKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
+ZG5sICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcHRpb24gc2V0dGluZyAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgKgpkbmwgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCmRubCBUaGUg
+dHdvIGRpZmZlcmVudCBwYWNrYWdlcyB0aGF0IGNhbiBiZSBidWlsdCBhbmQgaW5zdGFsbGVkLgpD
+TE9PRz0iY2xvb2ciCklOU1RBTExfQ0xPT0c9Imluc3RhbGxfY2xvb2ciCgoKZG5sIE9wdGlvbnMu
+CmRubCAtLXdpdGgtY2xvb2c9eWVzLCAtLXdpdGgtY2xvb2c9bm8gb3UgLS13aXRob3V0LWNsb29n
+CkFDX0FSR19XSVRIKGNsb29nLAogICAgICAgICAgICBbICAtLXdpdGhvdXQtY2xvb2cgICAgICAg
+ICBkaXNhYmxlIHRoZSBjb21waWxhdGlvbiBvZiBjbG9vZ10sCiAgICAgICAgICAgIFsgZWNobyAi
+UGFja2FnZSBjbG9vZyA6ICR3aXRodmFsIiAmJgogICAgICAgICAgICAgIGlmIHRlc3QgIiR3aXRo
+dmFsIj0ibm8iIDsgdGhlbiAJCiAgICAgICAgICAgICAgICBDTE9PRz0iIgogICAgICAgICAgICAg
+ICAgSU5TVEFMTF9DTE9PRz0iIgogICAgICAgICAgICAgIGZpIF0pCmRubCAtLXdpdGgtbGliPXll
+cywgICAtLXdpdGgtbGliPW5vICAgb3UgLS13aXRob3V0LWxpYgpBQ19BUkdfV0lUSChsaWIsCiAg
+ICAgICAgICAgIFsgIC0td2l0aG91dC1saWIgICAgICAgICAgIGRpc2FibGUgdGhlIGNvbXBpbGF0
+aW9uIG9mIGNsb29nJ3MgbGliXSwKICAgICAgICAgICAgWyBlY2hvICJQYWNrYWdlIGNsb29nbGli
+IDogJHdpdGh2YWwiICYmCiAgICAgICAgICAgICAgaWYgdGVzdCAiJHdpdGh2YWwiPSJubyIgOyB0
+aGVuIAkKICAgICAgICAgICAgICAgIENMT09HTElCPSIiCiAgICAgICAgICAgICAgICBJTlNUQUxM
+X0NMT09HTElCPSIiCiAgICAgICAgICAgICAgZmkgXSkKZG5sIC0td2l0aC1wb2x5bGliPXBvbHls
+aWItcGF0aApBQ19BUkdfV0lUSChwb2x5bGliLAogICAgICAgICAgICBbICAtLXdpdGgtcG9seWxp
+Yj1ESVIgICAgICBESVIgTG9jYXRpb24gb2YgdGhlIFBvbHlMaWJdLAogICAgICAgICAgICBbIGVj
+aG8gIlBhY2thZ2UgcG9seWxpYiA6ICR3aXRodmFsIiAmJiBwb2x5bGliX3BhY2thZ2U9JHdpdGh2
+YWxdLAogICAgICAgICAgICBbIHBvbHlsaWJfcGFja2FnZT15ZXMgXSkKQUNfQVJHX1dJVEgoYml0
+cywKCSAgICBbICAtLXdpdGgtYml0cz0zMnw2NCAgICAgICBQb2x5TGliIGxpYnJhcnkgdHlwZSB0
+byB1c2VdLAoJICAgIFsgZWNobyAicG9seWxpYiR3aXRodmFsIjsgVkVSU0lPTj0kd2l0aHZhbCBd
+KQoKZG5sIC0td2l0aC1ib2VobWdjPWJvZWhtZ2MtcGF0aApBQ19BUkdfV0lUSChib2VobWdjLAog
+ICAgICAgICAgICBbICAtLXdpdGgtYm9laG1nYz1ESVIgICAgICBESVIgTG9jYXRpb24gb2YgdGhl
+IEJvZWhtZ2NdLAogICAgICAgICAgICBbIGVjaG8gIlBhY2thZ2UgYm9laG1nYyA6ICR3aXRodmFs
+IiAmJiBib2VobWdjX3BhY2thZ2U9JHdpdGh2YWxdLAogICAgICAgICAgICBbIGJvZWhtZ2NfcGFj
+a2FnZT15ZXMgXSkKCmRubCBQYWNrYWdlcyB0byBidWlsZC4KUEFDS0FHRVM9IiRDTE9PR0xJQiAk
+Q0xPT0ciCklOU1RBTExfUEFDS0FHRVM9IiRJTlNUQUxMX0NMT09HTElCICRJTlNUQUxMX0NMT09H
+IgoKCmRubCAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioKZG5sICAqICAgICAgICAgICAgICAgICAgICAgICAg
+ICBXaGVyZSBpcyBQb2x5TGliPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgpkbmwgICoq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqLwoKcG9seWxpYnM9InBvbHlsaWI2NCBwb2x5bGliMzIiCmNhc2UgIiRW
+RVJTSU9OIiBpbgogICAgMzIpCglwb2x5bGlicz1wb2x5bGliMzIKICAgIDs7CiAgICA2NCkKCXBv
+bHlsaWJzPXBvbHlsaWI2NAogICAgOzsKICAgIGdtcCkKCUFDX01TR19FUlJPUihnbXAgcG9seWxp
+YiBub3Qgc3VwcG9ydGVkICh5ZXQpKQogICAgOzsKZXNhYwoKZG5sIENoZWNraW5nIGZvciBQb2x5
+TGliCkFDX1NVQlNUKGNsX2N2X3BvbHlsaWIpCkFDX01TR19DSEVDS0lORyh3aGV0aGVyIFBvbHlM
+aWIgd29ya3MpCmlmIHRlc3QgIiRwb2x5bGliX3BhY2thZ2UiID0gIm5vIjsgdGhlbgogIEFDX01T
+R19SRVNVTFQobm8pCiAgQUNfTVNHX0VSUk9SKENhbid0IGZpbmQgUG9seUxpYi4pCmVsc2UKICBB
+Q19NU0dfUkVTVUxUKCkKICBpZiB0ZXN0ICIkcG9seWxpYl9wYWNrYWdlIiAhPSAieWVzIjsgdGhl
+bgogICAgUE9MWUxJQl9ESVI9JHBvbHlsaWJfcGFja2FnZQogICAgUE9MWUxJQl9MSUI9JFBPTFlM
+SUJfRElSL2xpYgogICAgQ1BQRkxBR1M9Ii1JJFBPTFlMSUJfRElSL2luY2x1ZGUgJENQUEZMQUdT
+IgogICAgTERGTEFHUz0iLUwkUE9MWUxJQl9ESVIvbGliICRMREZMQUdTIgogIGZpCiAgZm9yIGNs
+X2N2X3BvbHlsaWIgaW4gJHBvbHlsaWJzOyBkbwogICAgQUNfQ0hFQ0tfTElCKCRjbF9jdl9wb2x5
+bGliLFBvbHloZWRyb25UU29ydCxbYnJlYWtdKQogICAgY2xfY3ZfcG9seWxpYj1taXNzaW5nCiAg
+ZG9uZQogIGlmIHRlc3QgIiRjbF9jdl9wb2x5bGliIiA9ICJtaXNzaW5nIjsgdGhlbgogICAgQUNf
+TVNHX0VSUk9SKENhbid0IGZpbmQgUG9seUxpYi4pCiAgZWxzZQogICAgTElCUz0iLWwkY2xfY3Zf
+cG9seWxpYiAkTElCUyIKICBmaQogIEFDX0NIRUNLX0hFQURFUihwb2x5bGliLyRjbF9jdl9wb2x5
+bGliLmgsW10sCiAgICAgICAgICAgICAgIFtBQ19NU0dfRVJST1IoQ2FuJ3QgZmluZCBQb2x5TGli
+IGhlYWRlcnMuKV0pCmZpCgpkbmwgQ2hlY2tpbmcgZm9yIEJvZWhtZ2MKQUNfTVNHX0NIRUNLSU5H
+KHdoZXRoZXIgQm9laG1nYyB3b3JrcykKaWYgdGVzdCAiJGJvZWhtZ2NfcGFja2FnZSIgPSAibm8i
+OyB0aGVuCiAgQUNfTVNHX1JFU1VMVChubykKICBBQ19NU0dfRVJST1IoQ2FuJ3QgZmluZCBCb2Vo
+bWdjLikKZWxzZQogIEFDX01TR19SRVNVTFQoKQogIGlmIHRlc3QgIiRib2VobWdjX3BhY2thZ2Ui
+ICE9ICJ5ZXMiOyB0aGVuCiAgICBCT0VITUdDX0RJUj0kYm9laG1nY19wYWNrYWdlCiAgICBCT0VI
+TUdDX0xJQj0kQk9FSE1HQ19ESVIvbGliCiAgICBDUFBGTEFHUz0iLUkkQk9FSE1HQ19ESVIvaW5j
+bHVkZSAkQ1BQRkxBR1MiCiAgICBMREZMQUdTPSItTCRCT0VITUdDX0RJUi9saWIgJExERkxBR1Mi
+CiAgZmkKICBBQ19DSEVDS19MSUIoZ2MsR0NfbWFsbG9jLFtib2VobWdjPWZvdW5kXSkKICBpZiB0
+ZXN0ICIkYm9laG1nYyIgIT0gImZvdW5kIjsgdGhlbgogICAgQUNfTVNHX0VSUk9SKENhbid0IGZp
+bmQgQm9laG1nYy4pCiAgZWxzZQogICAgTElCUz0iJExJQlMgLWxnYyIKICAgIENQUEZMQUdTPSIt
+RFVTRV9CT0VITUdDICRDUFBGTEFHUyIKICBmaQpmaQoKCmRubCAvKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK
+ZG5sICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnN0aXR1dGlvbnMgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgKgpkbmwgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKCmRubCBTdWJz
+dGl0dXRpb25zIHRvIGRvIGluIE1ha2VmaWxlLmluLgpBQ19TVUJTVChSRUxFQVNFKQpBQ19TVUJT
+VCh0YXJnZXQpCkFDX1NVQlNUKENDKQpBQ19TVUJTVChMTl9TKQpBQ19TVUJTVChSQU5MSUIpCkFD
+X1NVQlNUKFNIRVhUKQpBQ19TVUJTVChFWEVDX1NVRkZJWCkKQUNfU1VCU1QoRVhUUkFfRkxBR1Mp
+CkFDX1NVQlNUKEVYVFJBX0xJQlMpCgpBQ19TVUJTVChQT0xZTElCX0xJQikKQUNfU1VCU1QocHJl
+Zml4KQpBQ19TVUJTVChleGVjX3ByZWZpeCkKQUNfU1VCU1QoSU5TVEFMTCkKQUNfU1VCU1QoUEFD
+S0FHRVMpCkFDX1NVQlNUKElOU1RBTExfUEFDS0FHRVMpCgpBQ19TVUJTVChWRVJTSU9OKQoKZG5s
+IE1ha2VmaWxlIGNyZWF0aW9uLgpBQ19PVVRQVVQoYXV0b2NvbmYvbWFrZWZpbGUgaW5jbHVkZS9j
+bG9vZy9jbG9vZy5oKQoKbXYgYXV0b2NvbmYvbWFrZWZpbGUgLgoKZWNobyAiICAgICAgICAgICAg
+IC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qIgplY2hv
+ICIgICAgICAgICAgICAgICogICAgICAgICAgIENMb29HIGNvbmZpZ3VyYXRpb24gaXMgT0sgICAg
+ICAgICAgICoiCmVjaG8gIiAgICAgICAgICAgICAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iCmVjaG8gIkl0IGFwcGVhcnMgdGhhdCB5b3VyIHN5c3Rl
+bSBpcyBPSyB0byBzdGFydCBDTG9vRyBjb21waWxhdGlvbi4gWW91IG5lZWQiCmVjaG8gIm5vdyB0
+byB0eXBlIFwibWFrZVwiLiBBZnRlciBjb21waWxhdGlvbiwgeW91IHNob3VsZCBjaGVjayBDTG9v
+RyBieSB0eXBpbmciCmVjaG8gIlwibWFrZSBjaGVja1wiLiBJZiBubyBwcm9ibGVtIG9jY3VyLCB5
+b3UgY2FuIHR5cGUgXCJtYWtlIHVuaW5zdGFsbFwiIGlmIgplY2hvICJ5b3UgYXJlIHVwZ3JhZGlu
+ZyBhbiBvbGQgdmVyc2lvbi4gTGFzdGx5IHR5cGUgXCJtYWtlIGluc3RhbGxcIiB0byBpbnN0YWxs
+IgplY2hvICJDTG9vRyBvbiB5b3VyIHN5c3RlbSAobG9nIGFzIHJvb3QgaWYgbmVjZXNzYXJ5KS4i
+Cg==
+
+------=_Part_4295_2513784.1115129712334
+Content-Type: application/octet-stream; name="boehmgc_def.h"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="boehmgc_def.h"
+
+I2RlZmluZSBHQ19ERUJVRw0KI2luY2x1ZGUgImdjLmgiDQojZGVmaW5lIG1hbGxvYyhuKSBHQ19t
+YWxsb2MobikNCiNkZWZpbmUgY2FsbG9jKG0sbikgR0NfbWFsbG9jKChtKSoobikpDQojZGVmaW5l
+IGZyZWUocCkgR0NfZnJlZShwKQ0KI2RlZmluZSByZWFsbG9jKHAsbikgR0NfcmVhbGxvYygocCks
+KG4pKQ0KI2RlZmluZSBDSEVDS19MRUFLUygpIEdDX2djb2xsZWN0KCkNCg==
+
+------=_Part_4295_2513784.1115129712334
+Content-Type: application/octet-stream; name="cloog.c"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="cloog.c"
+
+DQogICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tKioNCiAgICAqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+IENMb29HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKg0KICAgICoqLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LSoqDQogICAgKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb29nLmMgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgKioNCiAgICAqKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qKg0KICAgICoqICAgICAg
+ICAgICAgICAgICBGaXJzdCB2ZXJzaW9uOiBvY3RvYmVyIDI1dGggMjAwMSAgICAgICAgICAgICAg
+ICAgICoqDQogICAgKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K
+ICogICAgICAgICAgICAgICBDTG9vRyA6IHRoZSBDaHVua3kgTG9vcCBHZW5lcmF0b3IgKGV4cGVy
+aW1lbnRhbCkgICAgICAgICAgICAgKg0KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgKg0KICogQ29weXJpZ2h0IChDKSAyMDAxIENlZHJpYyBCYXN0b3VsICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KICogICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgKg0KICogVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
+bmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSAgKg0KICogdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
+IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSAgKg0KICog
+Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
+b3B0aW9uKSBhbnkgbGF0ZXIgKg0KICogdmVyc2lvbi4JCQkJCQkJICAgICAgICAgICAgICAqDQog
+KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAqDQogKiBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIGlu
+IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCAgICAgICAqDQogKiBXSVRIT1VU
+IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNI
+QU5UQUJJTElUWSAqDQogKiBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
+ZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgICAqDQogKiBmb3IgbW9yZSBkZXRhaWxz
+LgkJCQkJCQkgICAgICAqDQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQogKiBZb3Ugc2hvdWxkIGhh
+dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9u
+ZyAgICAqDQogKiB3aXRoIHNvZnR3YXJlOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
+YXJlIEZvdW5kYXRpb24sIEluYy4sICAgICAgICAqDQogKiA1OSBUZW1wbGUgUGxhY2UsIFN1aXRl
+IDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EgICAgICAgICAgICAgICAgICAgICAqDQog
+KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAqDQogKiBDTG9vRywgdGhlIENodW5reSBMb29wIEdlbmVyYXRv
+ciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQogKiBXcml0dGVu
+IGJ5IENlZHJpYyBCYXN0b3VsLCBDZWRyaWMuQmFzdG91bEBpbnJpYS5mciAgICAgICAgICAgICAg
+ICAgICAgICAgICAqDQogKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQogKioqKioqKioqKioqKioqKioq
+KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
+KioqLw0KDQojIGluY2x1ZGUgPHN0ZGxpYi5oPg0KIyBpbmNsdWRlIDxzdGRpby5oPg0KIyBpbmNs
+dWRlICIuLi9pbmNsdWRlL2Nsb29nL2Nsb29nLmgiDQoNCiNpZmRlZiBVU0VfQk9FSE1HQw0KI2lu
+Y2x1ZGUgIi4uL2luY2x1ZGUvYm9laG1nY19kZWYuaCINCiNlbmRpZg0KDQpleHRlcm4gaW50IGNs
+b29nX2RvbWFpbl9hbGxvY2F0ZWQgOw0KZXh0ZXJuIGludCBjbG9vZ19kb21haW5fZnJlZWQgOw0K
+ZXh0ZXJuIGludCBjbG9vZ19kb21haW5fbWF4IDsNCmV4dGVybiBpbnQgY2xvb2dfbG9vcF9hbGxv
+Y2F0ZWQgOw0KZXh0ZXJuIGludCBjbG9vZ19sb29wX2ZyZWVkIDsNCmV4dGVybiBpbnQgY2xvb2df
+bG9vcF9tYXggOw0KZXh0ZXJuIGludCBjbG9vZ19zdGF0ZW1lbnRfYWxsb2NhdGVkIDsNCmV4dGVy
+biBpbnQgY2xvb2dfc3RhdGVtZW50X2ZyZWVkIDsNCmV4dGVybiBpbnQgY2xvb2dfc3RhdGVtZW50
+X21heCA7DQoNCg0KaW50IG1haW4oaW50IGFyZ3YsIGNoYXIgKiBhcmdjW10pDQp7IENsb29nUHJv
+Z3JhbSAqIHByb2dyYW0gOw0KICBDbG9vZ09wdGlvbnMgKiBvcHRpb25zIDsNCiAgRklMRSAqIGlu
+cHV0LCAqIG91dHB1dCA7DQogICANCiAgLyogT3B0aW9ucyBhbmQgaW5wdXQvb3V0cHV0IGZpbGUg
+c2V0dGluZy4gKi8NCiAgY2xvb2dfb3B0aW9uc19yZWFkKGFyZ3YsYXJnYywmaW5wdXQsJm91dHB1
+dCwmb3B0aW9ucykgOw0KDQogIC8qIFJlYWRpbmcgdGhlIHByb2dyYW0gaW5mb3JtYXRpb25zLiAq
+Lw0KICBwcm9ncmFtID0gY2xvb2dfcHJvZ3JhbV9yZWFkKGlucHV0KSA7DQogIGZjbG9zZShpbnB1
+dCkgOw0KICAgIA0KICAvKiBHZW5lcmF0aW5nIGFuZCBwcmludGluZyB0aGUgY29kZS4gKi8NCiAg
+cHJvZ3JhbSA9IGNsb29nX3Byb2dyYW1fZ2VuZXJhdGUocHJvZ3JhbSxvcHRpb25zKSA7DQogIC8q
+Y2xvb2dfcHJvZ3JhbV9wcmludChzdGRvdXQscHJvZ3JhbSkgOyovDQogIGNsb29nX3Byb2dyYW1f
+cHByaW50KG91dHB1dCxwcm9ncmFtLG9wdGlvbnMpIDsNCiAgY2xvb2dfcHJvZ3JhbV9mcmVlKHBy
+b2dyYW0pIDsNCg0KICAvKiBQcmludGluZyB0aGUgYWxsb2NhdGlvbiBzdGF0aXN0aWNzIGlmIGFz
+a2VkLiAqLw0KICBpZiAob3B0aW9ucy0+bGVha3MpDQogIHsgZnByaW50ZihvdXRwdXQsIi8qIERv
+bWFpbnMgICAgOiBhbGxvY2F0ZWQ9JTVkLCBmcmVlZD0lNWQsIG1heD0lNWQuICovXG4iLA0KICAg
+ICAgICAgICBjbG9vZ19kb21haW5fYWxsb2NhdGVkLGNsb29nX2RvbWFpbl9mcmVlZCxjbG9vZ19k
+b21haW5fbWF4KTsNCiAgICBmcHJpbnRmKG91dHB1dCwiLyogTG9vcHMgICAgICA6IGFsbG9jYXRl
+ZD0lNWQsIGZyZWVkPSU1ZCwgbWF4PSU1ZC4gKi9cbiIsDQogICAgICAgICAgIGNsb29nX2xvb3Bf
+YWxsb2NhdGVkLGNsb29nX2xvb3BfZnJlZWQsY2xvb2dfbG9vcF9tYXgpIDsNCiAgICBmcHJpbnRm
+KG91dHB1dCwiLyogU3RhdGVtZW50cyA6IGFsbG9jYXRlZD0lNWQsIGZyZWVkPSU1ZCwgbWF4PSU1
+ZC4gKi9cbiIsDQogICAgICAgICAgIGNsb29nX3N0YXRlbWVudF9hbGxvY2F0ZWQsY2xvb2dfc3Rh
+dGVtZW50X2ZyZWVkLGNsb29nX3N0YXRlbWVudF9tYXgpOw0KICB9DQoNCiAgY2xvb2dfb3B0aW9u
+c19mcmVlKG9wdGlvbnMpIDsNCiAgZmNsb3NlKG91dHB1dCkgOw0KICByZXR1cm4gMDsNCn0NCg0K
+
+------=_Part_4295_2513784.1115129712334--
+
+
diff --git a/test/reports/michael_classen_27-10-2004.txt b/test/reports/michael_classen_27-10-2004.txt
new file mode 100644 (file)
index 0000000..5b09c24
--- /dev/null
@@ -0,0 +1,59 @@
+On Wed, 27 Oct 2004 11:46:07 +0200, Cédric Bastoul
+<cedric.bastoul@prism.uvsq.fr> wrote:
+
+>> Hi Michael,
+>> here is CLooG GMP (a light version of the future CLooG 1.0, with still
+>> some memory leaks and bugs). You should get and build the GMP library
+>> (http://www.swox.com/gmp/ ) and build the PolyLib GMP
+>> (http://icps.u-strasbg.fr/polylib/ then use the option
+>> --with-libgmp=/gmp_install_directory for the configure script). For
+>> CLooG you have to use the --with-bits=gmp and
+>> --with-libgmp=/gmp_install_directory for the configure script. There is
+>> no -cpp option in this CLooG version, I hope you don't use it. Be aware
+>> that your example needs a lot of memory (more than 256MB), I did not
+>> succeed to find the result on my laptop, but at least there were no
+>> other problems.
+>> Good luck, please feel free to send me some feedbacks about this
+>> version, and please, please, do not distribute it.
+>> Cheers,
+>> 
+>> Cedric
+
+
+Hello Cedric,
+
+I'd like to thank you for your very quick response to my problem. I
+tried to build CLooG-GMP with our version of Polylib5.11.1 with
+gmp-support enabled. The only problem that occured to me was that I
+had to include "-lgmp" to the default library-flags in CLooG's
+makefile.in.
+
+Also, I always have a little trouble, because we use polylib as a
+statically linked library, but there is no target in the CLooG
+makefile for building the executable using static linking. It's no big
+deal, I just add a little "-static" to the linking options. I don't
+know if it would be usefull to others, but as you provide a static and
+shared option for the CLooG library targets, could you think about
+providing a similar option for the executable, too? Again, that is
+only a very minor issue, I don' want to waste your time on things like
+that... 
+
+One more important thing: there is that "MAX_RAYS" constant that is
+hard-coded to 200 in the domain.h file. This is simply too low for
+most of my bigger examples. I think it would be quite usefull in the
+future to give an additional option for CLooG to set the number of
+MAX_RAYS without having to re-compile CLooG.
+
+At the moment, I try to get my example done, CLooG has been running
+now for about 50min on my Athlon-64 with 2GB physical and 4GB swap
+memory (of which CLooG is using 2.5GB at the moment). 
+I doubt that it will finish with a result, but that is simply because
+the example seems to be too difficult (although I still don't see how
+I could reduce it...).
+
+Thanks again for the GMP-version! 
+
+greetings,
+Michael
+
+
diff --git a/test/reports/nicolas_vasilache_03-05-2005.eml b/test/reports/nicolas_vasilache_03-05-2005.eml
new file mode 100644 (file)
index 0000000..2e2631f
--- /dev/null
@@ -0,0 +1,306 @@
+X-UIDL: 39066.1115110713
+X-Mozilla-Status: 0001
+X-Mozilla-Status2: 00000000
+Received: from soleil.uvsq.fr (soleil.uvsq.fr [193.51.24.1])
+       by relay-5m.club-internet.fr (Postfix) with ESMTP id BC73EE06B
+       for <netced@club-internet.fr>; Tue,  3 May 2005 10:58:32 +0200 (CEST)
+Received: from torquenada.prism.uvsq.fr (torquenada.prism.uvsq.fr [193.51.25.9])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j438wWHF077509
+          for <netced@club-internet.fr>; Tue, 3 May 2005 10:58:32 +0200 (CEST)
+Received: from soleil.uvsq.fr (root@soleil.uvsq.fr [193.51.24.1])
+          by torquenada.prism.uvsq.fr (8.11.4/jtpda-5.3.2) with ESMTP id j438wVC14523
+          for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 10:58:31 +0200 (MEST)
+Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78])
+          by soleil.uvsq.fr (8.12.11/jtpda-5.4) with ESMTP id j438wVeJ077472
+          for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 10:58:31 +0200 (CEST)
+Received: from achille.futurs.inria.fr (achille.futurs.inria.fr [195.83.212.184])
+       by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j438wP9Z005161
+       (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
+       for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 10:58:26 +0200
+Received: from [127.0.0.1] (localhost [127.0.0.1])
+       by achille.futurs.inria.fr (8.13.0/8.12.10) with ESMTP id j438wPL3027759
+       for <cedric.bastoul@prism.uvsq.fr>; Tue, 3 May 2005 10:58:25 +0200
+Message-ID: <42773D31.4050400@inria.fr>
+Date: Tue, 03 May 2005 10:58:25 +0200
+From: Nicolas Vasilache <Nicolas.Vasilache@inria.fr>
+User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040916
+X-Accept-Language: en-us, en
+MIME-Version: 1.0
+To: =?ISO-8859-1?Q?C=E9dric_Bastoul?= <cedric.bastoul@prism.uvsq.fr>
+Subject: Test case matmul
+Content-Type: multipart/mixed;
+ boundary="------------030606060102070406010005"
+X-Miltered: at soleil.uvsq.fr with ID 42773D38.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Miltered: at soleil.uvsq.fr with ID 42773D37.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Miltered: at nez-perce with ID 42773D31.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)!
+X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Tue, 03 May 2005 10:58:32 +0200 (CEST)
+X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-1.7.5 (soleil.uvsq.fr [193.51.24.1]); Tue, 03 May 2005 10:58:31 +0200 (CEST)
+X-j-chkmail-Score: MSGID : 42773D38.000 on soleil.uvsq.fr : j-chkmail score : XX : 10/50 0
+X-j-chkmail-Score: MSGID : 42773D37.001 on soleil.uvsq.fr : j-chkmail score : XX : 10/50 0
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+X-Antivirus: scanned by sophie at soleil.uvsq.fr
+Status:   
+X-Mmail: \Recent                                 
+X-M-Uid: 39066.1115110713
+
+This is a multi-part message in MIME format.
+--------------030606060102070406010005
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+Options:
+cloog -f 8 -l 9 matmul.B.main.scop1.cloog
+
+Code correct:
+S1;
+S2;
+for (p0=0;p0<=N-1;p0++) {
+  for (p1=0;p1<=N-1;p1++) {
+    S4(i = p0,j = p1);
+    S5(i = p0,j = p1);
+  }
+}
+for (p0=0;p0<=N-1;p0++) {
+  for (p1=0;p1<=N-1;p1++) {
+    for (p2=0;p2<=floord(N-1,32);p2++) {
+      S7(i = p0,j = p1,k = p2,l = 32*p2);
+      for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
+        S6(i = p0,j = p1,k = p2,l = p3-1);
+        S7(i = p0,j = p1,k = p2,l = p3);
+      }
+      if (p2 >= ceild(N-32,32)) {
+        S6(i = p0,j = p1,k = p2,l = N-1);
+      }
+      if (p2 <= floord(N-33,32)) {
+        S6(i = p0,j = p1,k = p2,l = 32*p2+31);
+      }
+    }
+  }
+}
+S8;
+
+
+Code incorrect:
+S1 ;
+S2 ;
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    S4(i = p1,j = p3) ;
+    S5(i = p1,j = p3) ;
+  }
+}
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    for (p5=0;p5<=floord(N-1,32);p5++) {
+      if (p5 <= 0) {
+        S7(i = p1,j = p3,k = p5,l = 0) ;
+      }
+      p7 = 32*p5 ;
+      l = 32*p5 ;
+      S7(i = p1,j = p3,k = p5) ;
+      for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
+        l = p7-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+        S7(i = p1,j = p3,k = p5,l = p7) ;
+      }
+      if (p5 >= ceild(N-32,32)) {
+        l = N-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+      }
+      p7 = 32*p5+32 ;
+      l = 32*p5+31 ;
+      S6(i = p1,j = p3,k = p5) ;
+    }
+  }
+}
+S8 ;
+
+
+--------------030606060102070406010005
+Content-Type: text/plain;
+ name="matmul.B.main.scop1.cloog"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline;
+ filename="matmul.B.main.scop1.cloog"
+
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+2    4     # 1 lines, 4 columns
+1    -1   0    3    
+1    0    1    -100 
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+1    4    
+1    1    0    -79  
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    -1    # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 
+
+
+--------------030606060102070406010005--
+
+
diff --git a/test/reports/nicolas_vasilache_09-05-2005.txt b/test/reports/nicolas_vasilache_09-05-2005.txt
new file mode 100644 (file)
index 0000000..ceaeba0
--- /dev/null
@@ -0,0 +1,44 @@
+Hello,
+
+Un bug etait reste dans la fonction, voici le code correct a remplacer ... a priori c'est juste sur les parametres de Vector_Combine.
+Teste et fonctionne.
+
+Tu es la demain ?
+
+
+if(singlePoint == 1){
+     for(i=0; i<m->NbRows; i++){
+   int j = 0;
+   if(i != lineNum){
+     for(j=1; j<m->NbColumns; j++){
+       if(m->p[i][level] != 0){
+         int sign = (m->p[i][level] * m->p[lineNum][level] > 0) ? -1 : 1;
+         Vector *tmpResVec = Vector_Alloc(m->NbColumns - 1);
+         Vector_Combine(&(m->p[i][1]), &(m->p[lineNum][1]), tmpResVec->p, sign*m->p[lineNum][level],
+                -sign*m->p[i][level], m->NbColumns - 1);
+         Value gcd;
+         Vector_Gcd(tmpResVec->p, m->NbColumns - 1, &gcd);
+         Vector_AntiScale(tmpResVec->p, &(m->p[i][1]), gcd, m->NbColumns - 1);
+         Vector_Free(tmpResVec);
+       }
+     }
+   }
+     }
+    Cédric Bastoul wrote:
+
+> Merci beaucoup, je le place localement dans le pprint sans doute la semaine prochaine comme Ã§a je ferais une option sans backtrack et -f safe, enfin j'espère ! 2 bugs en une semaine :-/ (l'autre c'était pour le -cpp je crois que tu t'en fous) !
+> A+
+>
+> Ced.
+>
+> Nicolas Vasilache a Ã©crit :
+>
+>>
+>> void cloog_loop_normalize(CloogLoop *loop, int level){
+>>  
+>> }
+>>
+>>
+>
+>
+
diff --git a/test/reports/sergej_schwenk_01-06-2004.txt b/test/reports/sergej_schwenk_01-06-2004.txt
new file mode 100644 (file)
index 0000000..997bbaa
--- /dev/null
@@ -0,0 +1,39 @@
+Dear Cedric Bastoul,
+
+
+>> As you may know, the code generator prototype is freely available at
+>> http://www.prism.uvsq.fr/~cedb/bastools/cloog.html
+>> then you can easily test the proposed improvements for code generation. 
+>> Please do not hesitate to ask me for further details.
+>> Best regards,
+>> 
+>> Cédric Bastoul
+
+
+
+thank you very much for the last information. I built already cloog static libraries and cloog, but I have still some troubles to make the shared library of cloog-0.12.2. I can work with the static version, but it may be also interesting to have a shared library too.
+
+I am using the polylib-library 5.20.0 (64 bit) and gcc version 2.95.3 (20010315). The error message is:
+
+             /*-----------------------------------------------*
+              *            MAKING ClooG (shared lib)          *
+              *-----------------------------------------------*/
+ld ./obj_sparc-sun-solaris2.9/cloog.o ./obj_sparc-sun-solaris2.9/program.o ./obj_sparc-sun-solaris2.9/loop.o ./obj_sparc-sun-solaris2.9/pprint.o ./obj_sparc-sun-solaris2.9/names.o ./obj_sparc-sun-solaris2.9/statement.o ./obj_sparc-sun-solaris2.9/domain.o ./obj_sparc-sun-solaris2.9/options.o  -o ./obj_sparc-sun-solaris2.9/libcloog.so.0.12.2 \
+-lc -shared -fPIC -L/project/suif/polylib-5.20.0/lib  -lpolylib64 -lc  
+ld: fatal: option -h and building a dynamic executable are incompatible
+ld: fatal: option -f and building a dynamic executable are incompatible
+ld: fatal: Flags processing errors
+gmake: *** [cloogsharedlib] Error 1
+
+Deleting the option -fPIC solve the problem with the second error message "option -f ..."
+
+Did you have any idea how to solve the problem ? I just called configure --with-polylib=... and then make. Polylib libraries (shared and static) are build successfully (all tests ran properly)
+
+Thank you in advance.
+
+Regards,
+
+Sergej Schwenk
+
+
+-- Sergej Schwenk University of Dortmund Department of Computer Science 12 (Embedded Systems Group) Otto-Hahn-Strasse 16 44221 Dortmund Germany 
diff --git a/test/reports/sylvain_girbal_01-11-2004.txt b/test/reports/sylvain_girbal_01-11-2004.txt
new file mode 100644 (file)
index 0000000..04fce0a
--- /dev/null
@@ -0,0 +1,11 @@
+
+Salut,
+
+J'ai noté que dans la doc de cloog library, a propos de la structure CloogProgram, names pouvait Ãªtre NULL si on utilisait pas le pretty printer de cloog.
+
+Or, avec le champs names a NULL, cloog_program_scatter seg fault...
+
+Pas de problème si je malloc un CloogName et que je met ses champs Ã  NULL et 0 (pour la double paire de noms / nombre de noms)
+
+Sylvai
+n.
diff --git a/test/reports/sylvain_girbal_24-02-2004.txt b/test/reports/sylvain_girbal_24-02-2004.txt
new file mode 100644 (file)
index 0000000..48af62e
--- /dev/null
@@ -0,0 +1,135 @@
+Salut,
+
+J'essaye d'utiliser CLooG pour générer le code d'une boucle strip-minée.
+
+Le code de départ (avant stripmine) est
+
+for(i=0;i<=999;i++
+{ S1(i);
+}
+
+et est correctement généré par cloog.
+
+Apres un strip mine de p, j'esperais arriver a qqch du genre
+
+for(i=0;i<=999;i+=p)
+{ for(j=i;j<min(i+p,999);j++)
+  { S1(i)
+  }
+}
+
+Mais j'obtiens un assez laid
+
+for(i=-9;i<=999;i++)
+{ for(j=max(0,i);j<=min(i+p,999);j++)
+  { if(i%p == 0)
+    { S1(i)
+    }
+  }
+}
+
+avec le cacul d'un modulo dans la boucle interne qui detruit toutes les
+perfs.
+
+Y a t'il moyen d'améliorer les choses avec une des options de cloog, ou en
+changeant qqch dans mon fichier d'entree ?
+Albert m'a dit qu'il y avait qqch pour les strides.
+
+Pour info, j'utilise
+Piplib 1.3.2
+ClooG 0.12.1
+
+Merci d'avance,
+Sylvain.
+
+et le fichier d'entree pour cloog est:
+
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (no constraints on parameters)
+1    2     # 1 lines, 2 columns
+0    0
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+5 # Number of statements
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has 1 domain STATEMENT QUI ME PAUSE PB
+6    5
+#    i    j    p    1
+1    0    1    0    0    # 0 <= j <= 999
+1    0    -1   0    999
+1    -1   1    0    0    # j <= i <= j + 9
+1    1    -1   0    9
+1    -1   0    10   0    #  i = 10 * p
+1    1    0    -10  0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+1 # Statement has a non resticted domain
+1    2
+1    0
+0    0    0
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+5 # Number of scattering functions
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   0     # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -1    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    10
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0         0    0           0     -2    # Beta 0
+0    0    1    0    0    0         -1   0           0      0     # Alpha & Gamma 1
+0    0    0    1    0    0         0    0           0      0     # Beta 1
+0    0    0    0    1    0         0    -1          0      0     # Alpha & Gamma 2
+0    0    0    0    0    1         0    0           0      0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -3    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+5    7
+#    p0   p1   p2   p3   p4
+0    1    0    0    0    0                   -4    # Beta 0
+0    0    1    0    0    0                   0     # Alpha & Gamma 1
+0    0    0    1    0    0                   0     # Beta 1
+0    0    0    0    1    0                   0     # Alpha & Gamma 2
+0    0    0    0    0    1                   0     # Beta 2
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4
diff --git a/test/reservoir/QR.c.polylib b/test/reservoir/QR.c.polylib
new file mode 100644 (file)
index 0000000..512b046
--- /dev/null
@@ -0,0 +1,183 @@
+/* Generated from QR.cloog by CLooG v0.14.0 64 bits in 0.06s. */
+/* CLooG asked for 288 KBytes. */
+if ((M <= -1) && (N >= 1)) {
+  S1(i = 0) ;
+}
+if ((M >= 0) && (N >= 1)) {
+  S1(i = 0) ;
+}
+if ((M >= 1) && (N >= 2)) {
+  for (c4=0;c4<=M-1;c4++) {
+    S2(i = 0,j = c4) ;
+  }
+  S3(i = 0) ;
+  for (c4=0;c4<=M-1;c4++) {
+    S4(i = 0,j = c4) ;
+  }
+  S10(i = 0) ;
+  S1(i = 1) ;
+  S5(i = 0) ;
+}
+if ((M <= 0) && (N >= 2)) {
+  S3(i = 0) ;
+  S10(i = 0) ;
+  S1(i = 1) ;
+  S5(i = 0) ;
+}
+if ((M >= 1) && (N == 1)) {
+  for (c4=0;c4<=M-1;c4++) {
+    S2(i = 0,j = c4) ;
+  }
+  S3(i = 0) ;
+  for (c4=0;c4<=M-1;c4++) {
+    S4(i = 0,j = c4) ;
+  }
+  S10(i = 0) ;
+  S5(i = 0) ;
+}
+if ((M <= 0) && (N == 1)) {
+  S3(i = 0) ;
+  S10(i = 0) ;
+  S5(i = 0) ;
+}
+for (c2=2;c2<=min(N-1,M);c2++) {
+  for (c4=c2-1;c4<=N-1;c4++) {
+    i = c2-2 ;
+    S6(j = c4) ;
+    for (c6=c2-2;c6<=M-1;c6++) {
+      i = c2-2 ;
+      S7(j = c4,k = c6) ;
+    }
+    i = c2-2 ;
+    S8(j = c4) ;
+    for (c6=c2-2;c6<=M-1;c6++) {
+      i = c2-2 ;
+      S9(j = c4,k = c6) ;
+    }
+  }
+  for (c4=c2-1;c4<=M-1;c4++) {
+    i = c2-1 ;
+    S2(j = c4) ;
+  }
+  i = c2-1 ;
+  S3 ;
+  for (c4=c2-1;c4<=M-1;c4++) {
+    i = c2-1 ;
+    S4(j = c4) ;
+  }
+  i = c2-1 ;
+  S10 ;
+  S1(i = c2) ;
+  i = c2-1 ;
+  S5 ;
+}
+if ((M >= 1) && (M <= N-2)) {
+  c2 = M+1 ;
+  for (c4=M;c4<=N-1;c4++) {
+    i = M-1 ;
+    S6(j = c4) ;
+    c6 = M-1 ;
+    i = M-1 ;
+    k = M-1 ;
+    S7(j = c4) ;
+    i = M-1 ;
+    S8(j = c4) ;
+    c6 = M-1 ;
+    i = M-1 ;
+    k = M-1 ;
+    S9(j = c4) ;
+  }
+  S3(i = M) ;
+  S10(i = M) ;
+  i = M+1 ;
+  S1 ;
+  S5(i = M) ;
+}
+if ((M >= N) && (N >= 2)) {
+  c4 = N-1 ;
+  i = N-2 ;
+  j = N-1 ;
+  S6 ;
+  for (c6=N-2;c6<=M-1;c6++) {
+    i = N-2 ;
+    j = N-1 ;
+    S7(k = c6) ;
+  }
+  i = N-2 ;
+  j = N-1 ;
+  S8 ;
+  for (c6=N-2;c6<=M-1;c6++) {
+    i = N-2 ;
+    j = N-1 ;
+    S9(k = c6) ;
+  }
+  for (c4=N-1;c4<=M-1;c4++) {
+    i = N-1 ;
+    S2(j = c4) ;
+  }
+  i = N-1 ;
+  S3 ;
+  for (c4=N-1;c4<=M-1;c4++) {
+    i = N-1 ;
+    S4(j = c4) ;
+  }
+  i = N-1 ;
+  S10 ;
+  i = N-1 ;
+  S5 ;
+}
+if ((M == N-1) && (N >= 2)) {
+  c4 = N-1 ;
+  i = N-2 ;
+  j = N-1 ;
+  S6 ;
+  c6 = N-2 ;
+  i = N-2 ;
+  j = N-1 ;
+  k = N-2 ;
+  S7 ;
+  i = N-2 ;
+  j = N-1 ;
+  S8 ;
+  c6 = N-2 ;
+  i = N-2 ;
+  j = N-1 ;
+  k = N-2 ;
+  S9 ;
+  i = N-1 ;
+  S3 ;
+  i = N-1 ;
+  S10 ;
+  i = N-1 ;
+  S5 ;
+}
+for (c2=max(M+2,2);c2<=N-1;c2++) {
+  for (c4=c2-1;c4<=N-1;c4++) {
+    i = c2-2 ;
+    S6(j = c4) ;
+    i = c2-2 ;
+    S8(j = c4) ;
+  }
+  i = c2-1 ;
+  S3 ;
+  i = c2-1 ;
+  S10 ;
+  S1(i = c2) ;
+  i = c2-1 ;
+  S5 ;
+}
+if ((M <= N-2) && (N >= 2)) {
+  c4 = N-1 ;
+  i = N-2 ;
+  j = N-1 ;
+  S6 ;
+  i = N-2 ;
+  j = N-1 ;
+  S8 ;
+  i = N-1 ;
+  S3 ;
+  i = N-1 ;
+  S10 ;
+  i = N-1 ;
+  S5 ;
+}
diff --git a/test/reservoir/QR.c.ppl b/test/reservoir/QR.c.ppl
new file mode 100644 (file)
index 0000000..91fa0ff
--- /dev/null
@@ -0,0 +1,172 @@
+/* Generated from ././reservoir/QR.cloog by CLooG 0.15 64 bits in 0.28s. */
+if (N >= 1) {
+  S1(i = 0) ;
+}
+if ((M <= 0) && (N >= 2)) {
+  S3(i = 0) ;
+  S10(i = 0) ;
+  S1(i = 1) ;
+  S5(i = 0) ;
+}
+if ((M >= 1) && (N == 1)) {
+  for (c4=0;c4<=M-1;c4++) {
+    S2(i = 0,j = c4) ;
+  }
+  S3(i = 0) ;
+  for (c4=0;c4<=M-1;c4++) {
+    S4(i = 0,j = c4) ;
+  }
+  S10(i = 0) ;
+  S5(i = 0) ;
+}
+if ((M <= 0) && (N == 1)) {
+  S3(i = 0) ;
+  S10(i = 0) ;
+  S5(i = 0) ;
+}
+if ((M >= 1) && (N >= 2)) {
+  for (c4=0;c4<=M-1;c4++) {
+    S2(i = 0,j = c4) ;
+  }
+  S3(i = 0) ;
+  for (c4=0;c4<=M-1;c4++) {
+    S4(i = 0,j = c4) ;
+  }
+  S10(i = 0) ;
+  S1(i = 1) ;
+  S5(i = 0) ;
+}
+for (c2=2;c2<=min(M,N-1);c2++) {
+  for (c4=c2-1;c4<=N-1;c4++) {
+    i = c2-2 ;
+    S6(j = c4) ;
+    for (c6=c2-2;c6<=M-1;c6++) {
+      i = c2-2 ;
+      S7(j = c4,k = c6) ;
+    }
+    i = c2-2 ;
+    S8(j = c4) ;
+    for (c6=c2-2;c6<=M-1;c6++) {
+      i = c2-2 ;
+      S9(j = c4,k = c6) ;
+    }
+  }
+  for (c4=c2-1;c4<=M-1;c4++) {
+    i = c2-1 ;
+    S2(j = c4) ;
+  }
+  i = c2-1 ;
+  S3 ;
+  for (c4=c2-1;c4<=M-1;c4++) {
+    i = c2-1 ;
+    S4(j = c4) ;
+  }
+  i = c2-1 ;
+  S10 ;
+  S1(i = c2) ;
+  i = c2-1 ;
+  S5 ;
+}
+if ((M >= 1) && (M <= N-2)) {
+  c2 = M+1 ;
+  for (c4=M;c4<=N-1;c4++) {
+    i = M-1 ;
+    S6(j = c4) ;
+    c6 = M-1 ;
+    i = M-1 ;
+    k = M-1 ;
+    S7(j = c4) ;
+    i = M-1 ;
+    S8(j = c4) ;
+    c6 = M-1 ;
+    i = M-1 ;
+    k = M-1 ;
+    S9(j = c4) ;
+  }
+  S3(i = M) ;
+  S10(i = M) ;
+  i = M+1 ;
+  S1 ;
+  S5(i = M) ;
+}
+for (c2=max(M+2,2);c2<=N-1;c2++) {
+  for (c4=c2-1;c4<=N-1;c4++) {
+    i = c2-2 ;
+    S6(j = c4) ;
+    i = c2-2 ;
+    S8(j = c4) ;
+  }
+  i = c2-1 ;
+  S3 ;
+  i = c2-1 ;
+  S10 ;
+  S1(i = c2) ;
+  i = c2-1 ;
+  S5 ;
+}
+if ((M >= N) && (N >= 2)) {
+  c4 = N-1 ;
+  i = N-2 ;
+  j = N-1 ;
+  S6 ;
+  for (c6=N-2;c6<=M-1;c6++) {
+    i = N-2 ;
+    j = N-1 ;
+    S7(k = c6) ;
+  }
+  i = N-2 ;
+  j = N-1 ;
+  S8 ;
+  for (c6=N-2;c6<=M-1;c6++) {
+    i = N-2 ;
+    j = N-1 ;
+    S9(k = c6) ;
+  }
+  for (c4=N-1;c4<=M-1;c4++) {
+    i = N-1 ;
+    S2(j = c4) ;
+  }
+  i = N-1 ;
+  S3 ;
+  for (c4=N-1;c4<=M-1;c4++) {
+    i = N-1 ;
+    S4(j = c4) ;
+  }
+  i = N-1 ;
+  S10 ;
+  i = N-1 ;
+  S5 ;
+}
+if ((M == N-1) && (N >= 2)) {
+  c2 = M+1 ;
+  i = M-1 ;
+  S6(j = M) ;
+  c6 = M-1 ;
+  i = M-1 ;
+  k = M-1 ;
+  S7(j = M) ;
+  i = M-1 ;
+  S8(j = M) ;
+  c6 = M-1 ;
+  i = M-1 ;
+  k = M-1 ;
+  S9(j = M) ;
+  S3(i = M) ;
+  S10(i = M) ;
+  S5(i = M) ;
+}
+if ((M <= N-2) && (N >= 2)) {
+  c4 = N-1 ;
+  i = N-2 ;
+  j = N-1 ;
+  S6 ;
+  i = N-2 ;
+  j = N-1 ;
+  S8 ;
+  i = N-1 ;
+  S3 ;
+  i = N-1 ;
+  S10 ;
+  i = N-1 ;
+  S5 ;
+}
diff --git a/test/reservoir/QR.cloog b/test/reservoir/QR.cloog
new file mode 100755 (executable)
index 0000000..8baed20
--- /dev/null
@@ -0,0 +1,228 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+10
+
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    0    1   -1
+    1   -1    1    0    0    0
+    1    0   -1    1    0   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+l-1 >= 0, -i+j >= 0, -j+k-1 >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    0    1   -1
+    1   -1    1    0    0    0
+    1    0   -1    1    0   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 }
+
+    4 6
+    1    1    0    0    0    0
+    1   -1    1    0    0   -1
+    1    0   -1    0    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    6 7
+    1    1    0    0    0    0    0
+    1   -1    1    0    0    0   -1
+    1    0   -1    0    0    1   -1
+    1   -1    0    1    0    0    0
+    1    0    0   -1    1    0   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+j-1 >= 0, -j+l-1 >= 0, 1 >= 0 }
+
+    4 6
+    1    1    0    0    0    0
+    1   -1    1    0    0   -1
+    1    0   -1    0    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i >= 0, -i+j-1 >= 0, -j+m-1 >= 0, -i+k >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    6 7
+    1    1    0    0    0    0    0
+    1   -1    1    0    0    0   -1
+    1    0   -1    0    0    1   -1
+    1   -1    0    1    0    0    0
+    1    0    0   -1    1    0   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+10
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0   -5
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0    0   -3
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0   -6
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0   -2
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0   -2
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0   -2
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0   -2
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0   -3
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0   -4
+    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/bastoul3.c.polylib b/test/reservoir/bastoul3.c.polylib
new file mode 100644 (file)
index 0000000..254eeea
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from test/reservoir/bastoul3.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 60 KBytes. */
+for (i=3;i<=9;i++) {
+  for (j=max(1,i-6);j<=min(i-2,3);j++) {
+    if ((i+j)%2 == 0) {
+      k = (i-j)/2 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/reservoir/bastoul3.c.ppl b/test/reservoir/bastoul3.c.ppl
new file mode 100644 (file)
index 0000000..5de1578
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./reservoir/bastoul3.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=3;i<=9;i++) {
+  for (j=max(i-6,1);j<=min(i-2,3);j++) {
+    if ((i+j)%2 == 0) {
+      k = (i-j)/2 ;
+      S1 ;
+    }
+  }
+}
diff --git a/test/reservoir/bastoul3.cloog b/test/reservoir/bastoul3.cloog
new file mode 100644 (file)
index 0000000..8437226
--- /dev/null
@@ -0,0 +1,33 @@
+# Figure 4 from "Efficient code generation for automatic parallelization
+# and optimization".
+#
+# Language
+c
+
+# Context
+
+   1 2
+   1  1
+0
+
+# Number of statements
+1
+
+1
+
+#        i'   i    j    1
+   6 5
+   0    1   -1   -2    0
+   1    0    1    0   -1
+   1    0   -1    0    3
+   1    0    0    1   -1
+   1    0    0   -1    3
+   1    0    0    0    1
+
+0 0 0
+
+0
+0
+
+
+
diff --git a/test/reservoir/cholesky2.c.polylib b/test/reservoir/cholesky2.c.polylib
new file mode 100644 (file)
index 0000000..fc762df
--- /dev/null
@@ -0,0 +1,54 @@
+/* Generated from ./reservoir/cholesky2.cloog by CLooG v0.14.0 gmp bits in 0.04s. */
+/* CLooG asked for 268 KBytes. */
+for (c2=2;c2<=min(3,3*M-4);c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) {
+    if ((c2+c4)%2 == 0) {
+      i = (c2-c4+2)/2 ;
+      S2(j = c4) ;
+    }
+  }
+}
+for (c2=4;c2<=3*M-4;c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) {
+    for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) {
+      i = c2-c4-c6+1 ;
+      S3(j = c4,k = c6) ;
+    }
+  }
+  for (c4=ceild(c2+4,3);c4<=min(M,c2);c4++) {
+    if ((c2+c4)%2 == 0) {
+      i = (c2-c4+2)/2 ;
+      S2(j = c4) ;
+    }
+  }
+}
+for (c2=max(2,3*M-3);c2<=min(3,3*M-2);c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+}
+for (c2=max(3*M-3,4);c2<=3*M-2;c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+2,3);c4<=min(M,c2-2);c4++) {
+    for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) {
+      i = c2-c4-c6+1 ;
+      S3(j = c4,k = c6) ;
+    }
+  }
+}
+if (M >= 1) {
+  c2 = 3*M-1 ;
+  S1(i = M) ;
+}
diff --git a/test/reservoir/cholesky2.c.ppl b/test/reservoir/cholesky2.c.ppl
new file mode 100644 (file)
index 0000000..3a99561
--- /dev/null
@@ -0,0 +1,53 @@
+/* Generated from ././reservoir/cholesky2.cloog by CLooG 0.15 64 bits in 0.04s. */
+for (c2=2;c2<=min(3*M-4,3);c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) {
+    if ((c2+c4)%2 == 0) {
+      i = (c2-c4+2)/2 ;
+      S2(j = c4) ;
+    }
+  }
+}
+for (c2=max(3*M-3,2);c2<=min(3*M-1,3);c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+}
+for (c2=4;c2<=3*M-4;c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) {
+    for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) {
+      i = c2-c4-c6+1 ;
+      S3(j = c4,k = c6) ;
+    }
+  }
+  for (c4=ceild(c2+4,3);c4<=min(c2,M);c4++) {
+    if ((c2+c4)%2 == 0) {
+      i = (c2-c4+2)/2 ;
+      S2(j = c4) ;
+    }
+  }
+}
+for (c2=max(3*M-3,4);c2<=3*M-2;c2++) {
+  if ((c2+1)%3 == 0) {
+    i = (c2+1)/3 ;
+    S1 ;
+  }
+  for (c4=ceild(c2+2,3);c4<=min(c2-2,M);c4++) {
+    for (c6=ceild(c2-c4+2,2);c6<=min(c2-c4,c4);c6++) {
+      i = c2-c4-c6+1 ;
+      S3(j = c4,k = c6) ;
+    }
+  }
+}
+if (M >= 2) {
+  c2 = 3*M-1 ;
+  S1(i = M) ;
+}
diff --git a/test/reservoir/cholesky2.cloog b/test/reservoir/cholesky2.cloog
new file mode 100755 (executable)
index 0000000..7317c6a
--- /dev/null
@@ -0,0 +1,79 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 4
+    1    1    0   -1
+    1   -1    1    0
+    1    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    4 5
+    1    1    0    0   -1
+    1   -1    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -j+l >= 0, -i+k-1 >= 0, j-k >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1    0   -1    0    1    0
+    1   -1    0    1    0   -1
+    1    0    1   -1    0    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    8 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -3    0    1
+    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -2   -1    0    2
+    0    0    0    1    0    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -1   -1    0    1
+    0    0    0    1    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/fusion1.c.polylib b/test/reservoir/fusion1.c.polylib
new file mode 100644 (file)
index 0000000..150aeb0
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from fusion1.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=0;c2<=M;c2++) {
+  S1(i = c2) ;
+}
+for (c2=1;c2<=M;c2++) {
+  S2(i = c2) ;
+}
+for (c2=0;c2<=M;c2++) {
+  S3(i = c2) ;
+}
diff --git a/test/reservoir/fusion1.c.ppl b/test/reservoir/fusion1.c.ppl
new file mode 100644 (file)
index 0000000..50d373c
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ././reservoir/fusion1.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=0;c2<=M;c2++) {
+  S1(i = c2) ;
+}
+for (c2=1;c2<=M;c2++) {
+  S2(i = c2) ;
+}
+for (c2=0;c2<=M;c2++) {
+  S3(i = c2) ;
+}
diff --git a/test/reservoir/fusion1.cloog b/test/reservoir/fusion1.cloog
new file mode 100755 (executable)
index 0000000..3aea334
--- /dev/null
@@ -0,0 +1,65 @@
+# Language
+c
+
+# Context
+
+    2 3
+    1    1   -1
+    1    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j) | i >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 4
+    1    1    0    0
+    1   -1    1    0
+    1    0    0    1
+
+0 0 0
+1
+# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 4
+    1    1    0   -1
+    1   -1    1    0
+    1    0    0    1
+
+0 0 0
+1
+# { (i,j) | i >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 4
+    1    1    0    0
+    1   -1    1    0
+    1    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    4 7
+    0    1    0    0    0    0    0
+    0    0    1    0   -1    0    0
+    0    0    0    1    0    0    0
+    1    0    0    0    0    0    1
+
+
+    4 7
+    0    1    0    0    0    0   -1
+    0    0    1    0   -1    0    0
+    0    0    0    1    0    0    0
+    1    0    0    0    0    0    1
+
+
+    4 7
+    0    1    0    0    0    0   -2
+    0    0    1    0   -1    0    0
+    0    0    0    1    0    0    0
+    1    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/fusion2.c.polylib b/test/reservoir/fusion2.c.polylib
new file mode 100644 (file)
index 0000000..1357f61
--- /dev/null
@@ -0,0 +1,24 @@
+/* Generated from fusion2.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+if ((M >= 1) && (N >= 1)) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = 1,j = c4) ;
+  }
+}
+if (M >= 1) {
+  for (c2=2;c2<=N;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      i = c2-1 ;
+      S2(j = c4) ;
+    }
+    for (c4=1;c4<=M;c4++) {
+      S1(i = c2,j = c4) ;
+    }
+  }
+}
+if ((M >= 1) && (N >= 1)) {
+  c2 = N+1 ;
+  for (c4=1;c4<=M;c4++) {
+    S2(i = N,j = c4) ;
+  }
+}
diff --git a/test/reservoir/fusion2.c.ppl b/test/reservoir/fusion2.c.ppl
new file mode 100644 (file)
index 0000000..fe2937c
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated from ././reservoir/fusion2.cloog by CLooG 0.15 64 bits in 0.01s. */
+if ((M >= 1) && (N >= 1)) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = 1,j = c4) ;
+  }
+}
+if (M >= 1) {
+  for (c2=2;c2<=N;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      i = c2-1 ;
+      S2(j = c4) ;
+    }
+    for (c4=1;c4<=M;c4++) {
+      S1(i = c2,j = c4) ;
+    }
+  }
+}
+if ((M >= 1) && (N >= 1)) {
+  c2 = N+1 ;
+  for (c4=1;c4<=M;c4++) {
+    S2(i = N,j = c4) ;
+  }
+}
diff --git a/test/reservoir/fusion2.cloog b/test/reservoir/fusion2.cloog
new file mode 100755 (executable)
index 0000000..dad8353
--- /dev/null
@@ -0,0 +1,56 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1   -1    0    0    1    0
+    1    0    1    0    0   -1
+    1    0   -1    1    0    0
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1   -1    0    0    1    0
+    1    0    1    0    0   -1
+    1    0   -1    1    0    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/jacobi2.c.polylib b/test/reservoir/jacobi2.c.polylib
new file mode 100644 (file)
index 0000000..493c622
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from jacobi2.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=0;c2<=M-1;c2++) {
+  for (c4=0;c4<=M-1;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/jacobi2.c.ppl b/test/reservoir/jacobi2.c.ppl
new file mode 100644 (file)
index 0000000..1039cba
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from ././reservoir/jacobi2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=0;c2<=M-1;c2++) {
+  for (c4=0;c4<=M-1;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/jacobi2.cloog b/test/reservoir/jacobi2.cloog
new file mode 100755 (executable)
index 0000000..7352362
--- /dev/null
@@ -0,0 +1,37 @@
+# Language
+c
+
+# Context
+
+    2 3
+    1    1   -1
+    1    0    1
+0
+
+# Number of statments
+1
+
+1
+# { (i,j,k) | i >= 0, -i+k-1 >= 0, j >= 0, -j+k-1 >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0    0
+    1   -1    0    1   -1
+    1    0    1    0    0
+    1    0   -1    1   -1
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/jacobi3.c.polylib b/test/reservoir/jacobi3.c.polylib
new file mode 100644 (file)
index 0000000..cafae37
--- /dev/null
@@ -0,0 +1,36 @@
+/* Generated from ./reservoir/jacobi3.cloog by CLooG v0.14.0 gmp bits in 0.04s. */
+/* CLooG asked for 204 KBytes. */
+if ((M >= 1) && (N >= 3)) {
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S1(i = 1,j = c4,k = c6) ;
+    }
+  }
+}
+if (N >= 3) {
+  for (c2=3;c2<=2*M;c2++) {
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if (c2%2 == 0) {
+          S1(i = c2/2,j = c4,k = c6) ;
+        }
+      }
+    }
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if ((c2+1)%2 == 0) {
+          i = (c2-1)/2 ;
+          S2(j = c4,k = c6) ;
+        }
+      }
+    }
+  }
+}
+if ((M >= 1) && (N >= 3)) {
+  c2 = 2*M+1 ;
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S2(i = M,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/jacobi3.c.ppl b/test/reservoir/jacobi3.c.ppl
new file mode 100644 (file)
index 0000000..2e17c82
--- /dev/null
@@ -0,0 +1,35 @@
+/* Generated from ././reservoir/jacobi3.cloog by CLooG 0.15 64 bits in 0.04s. */
+if ((M >= 1) && (N >= 3)) {
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S1(i = 1,j = c4,k = c6) ;
+    }
+  }
+}
+if (N >= 3) {
+  for (c2=3;c2<=2*M;c2++) {
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if (c2%2 == 0) {
+          S1(i = c2/2,j = c4,k = c6) ;
+        }
+      }
+    }
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if ((c2+1)%2 == 0) {
+          i = (c2-1)/2 ;
+          S2(j = c4,k = c6) ;
+        }
+      }
+    }
+  }
+}
+if ((M >= 1) && (N >= 3)) {
+  c2 = 2*M+1 ;
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S2(i = M,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/jacobi3.cloog b/test/reservoir/jacobi3.cloog
new file mode 100755 (executable)
index 0000000..dff32ff
--- /dev/null
@@ -0,0 +1,64 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 }
+
+    7 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    1    0    0
+    1    0    1    0    0    0   -2
+    1    0   -1    0    0    1   -1
+    1    0    0    1    0    0   -2
+    1    0    0   -1    0    1   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 }
+
+    7 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    1    0    0
+    1    0    1    0    0    0   -2
+    1    0   -1    0    0    1   -1
+    1    0    0    1    0    0   -2
+    1    0    0   -1    0    1   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -2    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -2    0    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam1.c.polylib b/test/reservoir/lim-lam1.c.polylib
new file mode 100644 (file)
index 0000000..676d47f
--- /dev/null
@@ -0,0 +1,39 @@
+/* Generated from ./reservoir/lim-lam1.cloog by CLooG v0.14.0 gmp bits in 0.02s. */
+/* CLooG asked for 188 KBytes. */
+S1(i = 1,j = 100) ;
+for (c2=-98;c2<=0;c2++) {
+  c4 = -2*c2+2 ;
+  j = -c2+1 ;
+  S1(i = 1) ;
+  for (c4=-2*c2+3;c4<=199;c4++) {
+    if (c4%2 == 0) {
+      i = (2*c2+c4)/2 ;
+      S1(j = c4/2) ;
+    }
+    if ((c4+1)%2 == 0) {
+      i = (2*c2+c4-1)/2 ;
+      j = (c4+1)/2 ;
+      S2 ;
+    }
+  }
+  i = c2+100 ;
+  S1(j = 100) ;
+}
+for (c2=1;c2<=99;c2++) {
+  S2(i = c2,j = 1) ;
+  for (c4=2;c4<=-2*c2+200;c4++) {
+    if (c4%2 == 0) {
+      i = (2*c2+c4)/2 ;
+      S1(j = c4/2) ;
+    }
+    if ((c4+1)%2 == 0) {
+      i = (2*c2+c4-1)/2 ;
+      j = (c4+1)/2 ;
+      S2 ;
+    }
+  }
+  c4 = -2*c2+201 ;
+  j = -c2+101 ;
+  S2(i = 100) ;
+}
+S2(i = 100,j = 1) ;
diff --git a/test/reservoir/lim-lam1.c.ppl b/test/reservoir/lim-lam1.c.ppl
new file mode 100644 (file)
index 0000000..5326e44
--- /dev/null
@@ -0,0 +1,38 @@
+/* Generated from ././reservoir/lim-lam1.cloog by CLooG 0.15 64 bits in 0.02s. */
+S1(i = 1,j = 100) ;
+for (c2=-98;c2<=0;c2++) {
+  c4 = -2*c2+2 ;
+  j = -c2+1 ;
+  S1(i = 1) ;
+  for (c4=-2*c2+3;c4<=199;c4++) {
+    if (c4%2 == 0) {
+      i = (2*c2+c4)/2 ;
+      S1(j = c4/2) ;
+    }
+    if ((c4+1)%2 == 0) {
+      i = (2*c2+c4-1)/2 ;
+      j = (c4+1)/2 ;
+      S2 ;
+    }
+  }
+  i = c2+100 ;
+  S1(j = 100) ;
+}
+for (c2=1;c2<=99;c2++) {
+  S2(i = c2,j = 1) ;
+  for (c4=2;c4<=-2*c2+200;c4++) {
+    if (c4%2 == 0) {
+      i = (2*c2+c4)/2 ;
+      S1(j = c4/2) ;
+    }
+    if ((c4+1)%2 == 0) {
+      i = (2*c2+c4-1)/2 ;
+      j = (c4+1)/2 ;
+      S2 ;
+    }
+  }
+  c4 = -2*c2+201 ;
+  j = -c2+101 ;
+  S2(i = 100) ;
+}
+S2(i = 100,j = 1) ;
diff --git a/test/reservoir/lim-lam1.cloog b/test/reservoir/lim-lam1.cloog
new file mode 100644 (file)
index 0000000..7a7c684
--- /dev/null
@@ -0,0 +1,54 @@
+# Language
+c
+
+# Context
+
+    1 2
+    1    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j) | i-1 >= 0, -i+100 >= 0, j-1 >= 0, -j+100 >= 0 }
+
+    4 4
+    1    1    0   -1
+    1   -1    0  100
+    1    0    1   -1
+    1    0   -1  100
+
+0 0 0
+1
+# { (i,j) | i-1 >= 0, -i+100 >= 0, j-1 >= 0, -j+100 >= 0 }
+
+    4 4
+    1    1    0   -1
+    1   -1    0  100
+    1    0    1   -1
+    1    0   -1  100
+
+0 0 0
+0
+# Scattering functions
+2
+
+    6 9
+    0    1    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    1    0
+    0    0    0    1    0    0    0    0    0
+    0    0    0    0    1    0    0   -2    0
+    0    0    0    0    0    1    0    0    0
+    1    0    0    0    0    0    0    0    1
+
+
+    6 9
+    0    1    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    1   -1
+    0    0    0    1    0    0    0    0    0
+    0    0    0    0    1    0    0   -2    1
+    0    0    0    0    0    1    0    0   -1
+    1    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam2.c.polylib b/test/reservoir/lim-lam2.c.polylib
new file mode 100644 (file)
index 0000000..ae4670d
--- /dev/null
@@ -0,0 +1,19 @@
+/* Generated from lim-lam2.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  S1(i = c2) ;
+}
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=2;c4<=N;c4++) {
+      S2(i = c2,j = c4) ;
+    }
+  }
+}
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      S3(i = c2,j = c4) ;
+    }
+  }
+}
diff --git a/test/reservoir/lim-lam2.c.ppl b/test/reservoir/lim-lam2.c.ppl
new file mode 100644 (file)
index 0000000..6c7b915
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ././reservoir/lim-lam2.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c2=1;c2<=M;c2++) {
+  S1(i = c2) ;
+}
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=2;c4<=N;c4++) {
+      S2(i = c2,j = c4) ;
+    }
+  }
+}
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      S3(i = c2,j = c4) ;
+    }
+  }
+}
diff --git a/test/reservoir/lim-lam2.cloog b/test/reservoir/lim-lam2.cloog
new file mode 100755 (executable)
index 0000000..db50b74
--- /dev/null
@@ -0,0 +1,76 @@
+# Language
+c
+
+# Context
+
+    3 4
+    1    1    0   -1
+    1    0    1   -1
+    1    0    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k) | i-1 >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 5
+    1    1    0    0   -1
+    1   -1    1    0    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-2 >= 0, -j+l >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1   -1    0    1    0    0
+    1    0    1    0    0   -2
+    1    0   -1    0    1    0
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+l-1 >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1   -1    0    1    0    0
+    1    0    1    0    0   -1
+    1    0   -1    0    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0   -2
+    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam3.c.polylib b/test/reservoir/lim-lam3.c.polylib
new file mode 100644 (file)
index 0000000..1f7ad4d
--- /dev/null
@@ -0,0 +1,47 @@
+/* Generated from ./reservoir/lim-lam3.cloog by CLooG v0.14.0 gmp bits in 0.04s. */
+/* CLooG asked for 304 KBytes. */
+for (c2=5;c2<=min(5*M,8);c2++) {
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+}
+for (c2=9;c2<=min(13,5*M-1);c2++) {
+  for (c4=max(1,ceild(c2-M-3,4));c4<=floord(c2-4,5);c4++) {
+    i = c2-4*c4-3 ;
+    S2(j = c4) ;
+  }
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+  for (c4=max(1,ceild(c2-3*M-1,2));c4<=floord(c2-4,5);c4++) {
+    if ((c2+c4+2)%3 == 0) {
+      i = (c2-2*c4-1)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+for (c2=14;c2<=5*M-1;c2++) {
+  for (c4=max(2,ceild(c2-M-3,4));c4<=min(M-1,floord(c2-8,3));c4++) {
+    for (c6=max(1,ceild(c2-2*c4-M-5,2));c6<=min(c4-1,floord(c2-3*c4-6,2));c6++) {
+      i = c2-2*c4-2*c6-5 ;
+      S1(j = c4,k = c6) ;
+    }
+  }
+  for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) {
+    i = c2-4*c4-3 ;
+    S2(j = c4) ;
+  }
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+  for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) {
+    if ((c2+c4+2)%3 == 0) {
+      i = (c2-2*c4-1)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if (M >= 2) {
+  c2 = 5*M ;
+  S4(i = M) ;
+}
diff --git a/test/reservoir/lim-lam3.c.ppl b/test/reservoir/lim-lam3.c.ppl
new file mode 100644 (file)
index 0000000..86b6e7b
--- /dev/null
@@ -0,0 +1,46 @@
+/* Generated from ././reservoir/lim-lam3.cloog by CLooG 0.15 64 bits in 0.04s. */
+for (c2=5;c2<=min(5*M,8);c2++) {
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+}
+for (c2=9;c2<=min(5*M-1,13);c2++) {
+  for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) {
+    i = c2-4*c4-3 ;
+    S2(j = c4) ;
+  }
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+  for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) {
+    if ((c2+c4+2)%3 == 0) {
+      i = (c2-2*c4-1)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+for (c2=14;c2<=5*M-1;c2++) {
+  for (c4=max(ceild(c2-M-3,4),2);c4<=min(floord(c2-8,3),M-1);c4++) {
+    for (c6=max(ceild(c2-2*c4-M-5,2),1);c6<=min(floord(c2-3*c4-6,2),c4-1);c6++) {
+      i = c2-2*c4-2*c6-5 ;
+      S1(j = c4,k = c6) ;
+    }
+  }
+  for (c4=max(ceild(c2-M-3,4),1);c4<=floord(c2-4,5);c4++) {
+    i = c2-4*c4-3 ;
+    S2(j = c4) ;
+  }
+  if (c2%5 == 0) {
+    S4(i = c2/5) ;
+  }
+  for (c4=max(ceild(c2-3*M-1,2),1);c4<=floord(c2-4,5);c4++) {
+    if ((c2+c4+2)%3 == 0) {
+      i = (c2-2*c4-1)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if (M >= 2) {
+  c2 = 5*M ;
+  S4(i = M) ;
+}
diff --git a/test/reservoir/lim-lam3.cloog b/test/reservoir/lim-lam3.cloog
new file mode 100755 (executable)
index 0000000..0d3d4a5
--- /dev/null
@@ -0,0 +1,101 @@
+# Language
+c
+
+# Context
+
+    2 3
+    1    1   -1
+    1    0    1
+0
+
+# Number of statments
+4
+
+1
+# { (i,j,k,l) | -i+l >= 0, i-j-1 >= 0, k-1 >= 0, j-k-1 >= 0, 1 >= 0 }
+
+    5 6
+    1   -1    0    0    1    0
+    1    1   -1    0    0   -1
+    1    0    0    1    0   -1
+    1    0    1   -1    0   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 }
+
+    4 5
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    1   -1    0   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 }
+
+    4 5
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    1   -1    0   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j) | i-1 >= 0, -i+j >= 0, 1 >= 0 }
+
+    3 4
+    1    1    0   -1
+    1   -1    1    0
+    1    0    0    1
+
+0 0 0
+0
+# Scattering functions
+4
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -2   -2    0   -5
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -4    0   -3
+    0    0    0    1    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -3   -2    0   -1
+    0    0    0    1    0    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -5    0    0
+    0    0    0    1    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam4.c.polylib b/test/reservoir/lim-lam4.c.polylib
new file mode 100644 (file)
index 0000000..c53f54b
--- /dev/null
@@ -0,0 +1,22 @@
+/* Generated from lim-lam4.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 160 KBytes. */
+if (M >= 2) {
+  S1(i = 1,j = 0,k = 0) ;
+}
+for (c2=2;c2<=2*M-2;c2++) {
+  for (c4=max(-M+1,-c2+1);c4<=-1;c4++) {
+    for (i=max(1,c2-M+1);i<=min(c2+c4,M-1);i++) {
+      j = c2+c4-i ;
+      S1(k = -c4) ;
+    }
+    for (c6=max(-c4,c2-M+1);c6<=min(c2-1,M-1);c6++) {
+      i = c2-c6 ;
+      j = c4+c6 ;
+      S2(k = c6) ;
+    }
+  }
+  for (i=max(1,c2-M+1);i<=min(M-1,c2);i++) {
+    j = c2-i ;
+    S1(k = 0) ;
+  }
+}
diff --git a/test/reservoir/lim-lam4.c.ppl b/test/reservoir/lim-lam4.c.ppl
new file mode 100644 (file)
index 0000000..e15c7be
--- /dev/null
@@ -0,0 +1,21 @@
+/* Generated from ././reservoir/lim-lam4.cloog by CLooG 0.15 64 bits in 0.03s. */
+if (M >= 2) {
+  S1(i = 1,j = 0,k = 0) ;
+}
+for (c2=2;c2<=2*M-2;c2++) {
+  for (c4=max(-c2+1,-M+1);c4<=-1;c4++) {
+    for (i=max(c2-M+1,1);i<=min(c2+c4,M-1);i++) {
+      j = c2+c4-i ;
+      S1(k = -c4) ;
+    }
+    for (c6=max(c2-M+1,-c4);c6<=min(c2-1,M-1);c6++) {
+      i = c2-c6 ;
+      j = c4+c6 ;
+      S2(k = c6) ;
+    }
+  }
+  for (i=max(c2-M+1,1);i<=min(c2,M-1);i++) {
+    j = c2-i ;
+    S1(k = 0) ;
+  }
+}
diff --git a/test/reservoir/lim-lam4.cloog b/test/reservoir/lim-lam4.cloog
new file mode 100755 (executable)
index 0000000..0aa66e3
--- /dev/null
@@ -0,0 +1,62 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k,l) | i-1 >= 0, -i+l-1 >= 0, j >= 0, k >= 0, -j-k+l-1 >= 0, 1 >= 0 }
+
+    6 6
+    1    1    0    0    0   -1
+    1   -1    0    0    1   -1
+    1    0    1    0    0    0
+    1    0    0    1    0    0
+    1    0   -1   -1    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+l-1 >= 0, j >= 0, -j+k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    6 6
+    1    1    0    0    0   -1
+    1   -1    0    0    1   -1
+    1    0    1    0    0    0
+    1    0   -1    1    0   -1
+    1    0    0   -1    1   -1
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -1   -1    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0   -1    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam5.c.polylib b/test/reservoir/lim-lam5.c.polylib
new file mode 100644 (file)
index 0000000..01b43cf
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated from lim-lam5.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S3(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/lim-lam5.c.ppl b/test/reservoir/lim-lam5.c.ppl
new file mode 100644 (file)
index 0000000..96c3898
--- /dev/null
@@ -0,0 +1,16 @@
+/* Generated from ././reservoir/lim-lam5.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S3(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/lim-lam5.cloog b/test/reservoir/lim-lam5.cloog
new file mode 100755 (executable)
index 0000000..c5d6ef9
--- /dev/null
@@ -0,0 +1,76 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 10
+    0    1    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 10
+    0    1    0    0    0    0    0    0    0   -2
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/lim-lam6.c.polylib b/test/reservoir/lim-lam6.c.polylib
new file mode 100644 (file)
index 0000000..139fef0
--- /dev/null
@@ -0,0 +1,16 @@
+/* Generated from lim-lam6.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+if (M >= 1) {
+  for (c2=0;c2<=M;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      S1(i = c2,j = c4) ;
+    }
+  }
+}
+if (M >= 1) {
+  for (c2=0;c2<=M;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      S2(i = c4,j = c2) ;
+    }
+  }
+}
diff --git a/test/reservoir/lim-lam6.c.ppl b/test/reservoir/lim-lam6.c.ppl
new file mode 100644 (file)
index 0000000..727838b
--- /dev/null
@@ -0,0 +1,15 @@
+/* Generated from ././reservoir/lim-lam6.cloog by CLooG 0.15 64 bits in 0.00s. */
+if (M >= 1) {
+  for (c2=0;c2<=M;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      S1(i = c2,j = c4) ;
+    }
+  }
+}
+if (M >= 1) {
+  for (c2=0;c2<=M;c2++) {
+    for (c4=1;c4<=M;c4++) {
+      S2(i = c4,j = c2) ;
+    }
+  }
+}
diff --git a/test/reservoir/lim-lam6.cloog b/test/reservoir/lim-lam6.cloog
new file mode 100755 (executable)
index 0000000..a1bf181
--- /dev/null
@@ -0,0 +1,56 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k) | i >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0    0
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0    0
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 10
+    0    1    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/liu-zhuge1.c.polylib b/test/reservoir/liu-zhuge1.c.polylib
new file mode 100644 (file)
index 0000000..2a99902
--- /dev/null
@@ -0,0 +1,150 @@
+/* Generated from ./reservoir/liu-zhuge1.cloog by CLooG v0.14.0 gmp bits in 0.07s. */
+/* CLooG asked for 276 KBytes. */
+if ((M >= 0) && (N >= 0)) {
+  for (c2=-4;c2<=min(-1,3*M+N-4);c2++) {
+    for (c4=max(0,c2-3*M+4);c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+  }
+}
+if ((M <= 1) && (M >= 0)) {
+  for (c2=0;c2<=3*M+N-4;c2++) {
+    for (c4=max(c2-3*M,0);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=max(0,c2-3*M);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+for (c2=0;c2<=min(3*M-4,N-1);c2++) {
+  for (c4=0;c4<=c2;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=c2+1;c4<=min(c2+4,N);c4++) {
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=0;c4<=c2;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if (M >= 2) {
+  for (c2=3*M-3;c2<=N-1;c2++) {
+    for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=c2-3*M+4;c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=c2+1;c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=max(0,c2-3*M);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+if (N >= 0) {
+  for (c2=N;c2<=3*M-4;c2++) {
+    for (c4=0;c4<=N;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=0;c4<=N;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) {
+  for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+  }
+  for (c4=c2-3*M+4;c4<=N;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=max(0,c2-3*M);c4<=N;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if ((M >= 0) && (N >= 0)) {
+  for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) {
+    for (c4=max(0,c2-3*M);c4<=min(c2,N);c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=max(0,c2-3*M);c4<=min(c2,N);c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/liu-zhuge1.c.ppl b/test/reservoir/liu-zhuge1.c.ppl
new file mode 100644 (file)
index 0000000..221dda6
--- /dev/null
@@ -0,0 +1,149 @@
+/* Generated from ././reservoir/liu-zhuge1.cloog by CLooG 0.15 64 bits in 0.08s. */
+if ((M >= 0) && (N >= 0)) {
+  for (c2=-4;c2<=min(3*M+N-4,-1);c2++) {
+    for (c4=max(c2-3*M+4,0);c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+  }
+}
+if ((M >= 0) && (M <= 1)) {
+  for (c2=0;c2<=3*M+N-4;c2++) {
+    for (c4=max(c2-3*M,0);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=c2-3*M+4;c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=max(c2-3*M,0);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+for (c2=0;c2<=min(3*M-4,N-1);c2++) {
+  for (c4=0;c4<=c2;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=c2+1;c4<=min(c2+4,N);c4++) {
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=0;c4<=c2;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if (N >= 0) {
+  for (c2=N;c2<=3*M-4;c2++) {
+    for (c4=0;c4<=N;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=0;c4<=N;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+if (M >= 2) {
+  for (c2=3*M-3;c2<=N-1;c2++) {
+    for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=c2-3*M+4;c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=c2+1;c4<=min(c2+4,N);c4++) {
+      if ((c2+2*c4+1)%3 == 0) {
+        i = (c2-c4+4)/3 ;
+        S1(j = c4) ;
+      }
+    }
+    for (c4=max(c2-3*M,0);c4<=c2;c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
+for (c2=max(3*M-3,N);c2<=3*M+N-4;c2++) {
+  for (c4=max(c2-3*M,0);c4<=c2-3*M+3;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+  }
+  for (c4=c2-3*M+4;c4<=N;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S2(j = c4) ;
+    }
+    if ((c2+2*c4+1)%3 == 0) {
+      i = (c2-c4+4)/3 ;
+      S1(j = c4) ;
+    }
+  }
+  for (c4=max(c2-3*M,0);c4<=N;c4++) {
+    if ((c2+2*c4)%3 == 0) {
+      i = (c2-c4)/3 ;
+      S3(j = c4) ;
+    }
+  }
+}
+if ((M >= 0) && (N >= 0)) {
+  for (c2=max(3*M+N-3,0);c2<=3*M+N;c2++) {
+    for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S2(j = c4) ;
+      }
+    }
+    for (c4=max(c2-3*M,0);c4<=min(c2,N);c4++) {
+      if ((c2+2*c4)%3 == 0) {
+        i = (c2-c4)/3 ;
+        S3(j = c4) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/liu-zhuge1.cloog b/test/reservoir/liu-zhuge1.cloog
new file mode 100755 (executable)
index 0000000..e28cb4b
--- /dev/null
@@ -0,0 +1,76 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    1    0    0
+    1    0    1    0    0    0
+    1    0   -1    0    1    0
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    1    0    0
+    1    0    1    0    0    0
+    1    0   -1    0    1    0
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i >= 0, -i+k >= 0, j >= 0, -j+l >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0    0
+    1   -1    0    1    0    0
+    1    0    1    0    0    0
+    1    0   -1    0    1    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -3   -1    0    0    4
+    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -3   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+
+    6 11
+    0    1    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -3   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/loechner3.c.polylib b/test/reservoir/loechner3.c.polylib
new file mode 100644 (file)
index 0000000..18d8a5c
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from loechner3.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=2;c4<=c2+M;c4++) {
+    for (c6=max(1,-c2+c4);c6<=min(M,c4-1);c6++) {
+      k = c4-c6 ;
+      S1(i = c2,j = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/loechner3.c.ppl b/test/reservoir/loechner3.c.ppl
new file mode 100644 (file)
index 0000000..e06f1f4
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ././reservoir/loechner3.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=2;c4<=c2+M;c4++) {
+    for (c6=max(-c2+c4,1);c6<=min(c4-1,M);c6++) {
+      k = c4-c6 ;
+      S1(i = c2,j = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/loechner3.cloog b/test/reservoir/loechner3.cloog
new file mode 100755 (executable)
index 0000000..04b34cb
--- /dev/null
@@ -0,0 +1,39 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+1
+
+1
+# { (i,j,k,l) | -i+l >= 0, j-1 >= 0, -j+l >= 0, k-1 >= 0, i-k >= 0, 1 >= 0 }
+
+    6 6
+    1   -1    0    0    1    0
+    1    0    1    0    0   -1
+    1    0   -1    0    1    0
+    1    0    0    1    0   -1
+    1    1    0   -1    0    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/loechner4.c.polylib b/test/reservoir/loechner4.c.polylib
new file mode 100644 (file)
index 0000000..63a2f3a
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from loechner4.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=2;c2<=2*M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      for (c8=max(1,c2-M);c8<=min(c2-1,M);c8++) {
+        l = c2-c8 ;
+        S1(i = c6,j = c4,k = c8) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/loechner4.c.ppl b/test/reservoir/loechner4.c.ppl
new file mode 100644 (file)
index 0000000..f4bf9ef
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ././reservoir/loechner4.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (c2=2;c2<=2*M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      for (c8=max(c2-M,1);c8<=min(c2-1,M);c8++) {
+        l = c2-c8 ;
+        S1(i = c6,j = c4,k = c8) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/loechner4.cloog b/test/reservoir/loechner4.cloog
new file mode 100755 (executable)
index 0000000..503f56a
--- /dev/null
@@ -0,0 +1,44 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+1
+
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+m >= 0, j-1 >= 0, -j+m >= 0, k-1 >= 0, -k+m >= 0, l-1 >= 0, -l+m >= 0, 1 >= 0 }
+
+    9 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    0    1    0
+    1    0    1    0    0    0   -1
+    1    0   -1    0    0    1    0
+    1    0    0    1    0    0   -1
+    1    0    0   -1    0    1    0
+    1    0    0    0    1    0   -1
+    1    0    0    0   -1    1    0
+    1    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+   10 16
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0    0    0    0    0   -1   -1    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/loechner5.c.polylib b/test/reservoir/loechner5.c.polylib
new file mode 100644 (file)
index 0000000..4968cf0
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from loechner5.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      for (c8=1;c8<=M;c8++) {
+        S1(i = c4,j = c6,k = c2,l = c8) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/loechner5.c.ppl b/test/reservoir/loechner5.c.ppl
new file mode 100644 (file)
index 0000000..9c05d30
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ././reservoir/loechner5.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      for (c8=1;c8<=M;c8++) {
+        S1(i = c4,j = c6,k = c2,l = c8) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/loechner5.cloog b/test/reservoir/loechner5.cloog
new file mode 100755 (executable)
index 0000000..f208435
--- /dev/null
@@ -0,0 +1,44 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+1
+
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+m >= 0, j-1 >= 0, -j+m >= 0, k-1 >= 0, -k+m >= 0, l-1 >= 0, -l+m >= 0, 1 >= 0 }
+
+    9 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    0    1    0
+    1    0    1    0    0    0   -1
+    1    0   -1    0    0    1    0
+    1    0    0    1    0    0   -1
+    1    0    0   -1    0    1    0
+    1    0    0    0    1    0   -1
+    1    0    0    0   -1    1    0
+    1    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+   10 16
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0    0    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/long.c.polylib b/test/reservoir/long.c.polylib
new file mode 100644 (file)
index 0000000..54f1f59
--- /dev/null
@@ -0,0 +1,20 @@
+/* Generated from long.cloog by CLooG v0.14.0 64 bits in 11.58s. */
+/* CLooG asked for 1888 KBytes. */
+for (c2=1;c2<=O-1;c2++) {
+  for (c4=Q;c4<=N-1;c4++) {
+    for (c6=P;c6<=M-1;c6++) {
+      S1(i = c2,j = c4,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S2(i = c2,j = c4,k = c6) ;
+    }
+  }
+  for (c4=1;c4<=N-1;c4++) {
+    for (c6=P;c6<=M-1;c6++) {
+      S3(i = c2,j = c4,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S4(i = c2,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/long.c.ppl b/test/reservoir/long.c.ppl
new file mode 100644 (file)
index 0000000..54f1f59
--- /dev/null
@@ -0,0 +1,20 @@
+/* Generated from long.cloog by CLooG v0.14.0 64 bits in 11.58s. */
+/* CLooG asked for 1888 KBytes. */
+for (c2=1;c2<=O-1;c2++) {
+  for (c4=Q;c4<=N-1;c4++) {
+    for (c6=P;c6<=M-1;c6++) {
+      S1(i = c2,j = c4,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S2(i = c2,j = c4,k = c6) ;
+    }
+  }
+  for (c4=1;c4<=N-1;c4++) {
+    for (c6=P;c6<=M-1;c6++) {
+      S3(i = c2,j = c4,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S4(i = c2,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/long.cloog b/test/reservoir/long.cloog
new file mode 100644 (file)
index 0000000..aae4a18
--- /dev/null
@@ -0,0 +1,127 @@
+# Language
+c
+
+# Context
+
+   15 11
+    1    1    0    0    0    0    0    0    0    0  -10
+    1    0    1    0    0    0    0    0    0    0  -10
+    1    0    0    1    0    0    0    0    0    0  -10
+    1    0    0    0    1    0    0    0    0    0   -1
+    1    0    0    0   -1    0    0    0    0    0    2
+    1    0    0    0    0    1    0    0    0    0   -1
+    1    0    0    0    0   -1    0    0    0    0    2
+    1    0    0    0    0    0    1    0    0    0   -1
+    1    0    0    0    0    0   -1    0    0    0    2
+    1    0    0    0    0    0    0    1    0    0    0
+    1    0    0    0    0    0    0   -1    0    0    1
+    1    0    0    0    0    0    0    0    1    0    0
+    1    0    0    0    0    0    0    0   -1    0    1
+    1    0    0    0    0    0    0    0    0    1    0
+    1    0    0    0    0    0    0    0    0   -1    1
+0
+
+# Number of statments
+4
+
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+4
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
+
diff --git a/test/reservoir/makefile b/test/reservoir/makefile
new file mode 100644 (file)
index 0000000..2d33fb6
--- /dev/null
@@ -0,0 +1,79 @@
+#
+#   /**-------------------------------------------------------------------**
+#    **                              CLooG                                **
+#    **-------------------------------------------------------------------**
+#    **                            makefile                               **
+#    **-------------------------------------------------------------------**
+#    **                   First version: march 6th 2003                   **
+#    **-------------------------------------------------------------------**/
+#
+# makefile for checking.
+
+#/*****************************************************************************
+# *               CLooG : the Chunky Loop Generator (experimental)            *
+# *****************************************************************************
+# *                                                                           *
+# * Copyright (C) 2003 Cedric Bastoul                                         *
+# *                                                                           *
+# * This is free software; you can redistribute it and/or modify it under the *
+# * terms of the GNU General Public License as published by the Free Software *
+# * Foundation; either version 2 of the License, or (at your option) any      *
+# * later version.                                                           *
+# *                                                                           *
+# * This software is distributed in the hope that it will be useful, but      *
+# * WITHOUT ANY WARRANTY; without even the implied warranty of                *
+# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General *
+# * Public License for more details.                                          *
+# *                                                                           *
+# * You should have received a copy of the GNU General Public License along   *
+# * with software; if not, write to the Free Software Foundation, Inc.,       *
+# * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                    *
+# *                                                                           *
+# * CLooG, the Chunky Loop Generator                                          *
+# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                        *
+# * This file has been written with the help of the Bart Kienhuis's checking  *
+# * makefile for PipLib.                                                      *
+# *                                                                           *
+# *****************************************************************************/
+
+CLOOGTEST_C =                          \
+       cholesky2          \
+       fusion1            \
+       fusion2            \
+       jacobi2            \
+       jacobi3            \
+       lim-lam1           \
+       lim-lam2           \
+       lim-lam3           \
+       lim-lam4           \
+       lim-lam5           \
+       lim-lam6           \
+       liu-zhuge1         \
+       loechner3          \
+       loechner4          \
+       loechner5          \
+       long               \
+       mg-interp2         \
+       mg-interp          \
+       mg-psinv           \
+       mg-resid           \
+       mg-rprj3           \
+       pingali1           \
+       pingali2           \
+       pingali3           \
+       pingali4           \
+       pingali5           \
+       pingali6           \
+       QR                 \
+       tang-xue1          \
+       two   
+
+
+generate:
+       @echo "             /*-----------------------------------------------*"
+       @echo "              *                 Generate files                *"
+       @echo "              *-----------------------------------------------*/"
+       for x in $(CLOOGTEST_C) ; do \
+               echo "Generate $$x.c" ; \
+               ../../obj_i686-pc-linux-gnu/cloog $$x.cloog -o $$x.c ; \
+       done
diff --git a/test/reservoir/mg-interp.c.polylib b/test/reservoir/mg-interp.c.polylib
new file mode 100644 (file)
index 0000000..df7820e
--- /dev/null
@@ -0,0 +1,288 @@
+/* Generated from ./reservoir/mg-interp.cloog by CLooG v0.14.0 gmp bits in 0.96s. */
+/* CLooG asked for 3476 KBytes. */
+if ((M >= 2) && (N >= 4)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    S1(i = c2,j = 2,k = M) ;
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 2,k = c6) ;
+      S7(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c4=3;c4<=2*N-5;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4-1)/2 ;
+          S10(i = c2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S3(i = c2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          j = (c4+2)/2 ;
+          S6(i = c2,k = c6) ;
+          S7(i = c2,k = c6) ;
+        }
+        if ((c4+1)%2 == 0) {
+          j = (c4+3)/2 ;
+          S1(i = c2,k = c6) ;
+        }
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = M) ;
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S11(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-4 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S6(i = c2,k = c6) ;
+      S7(i = c2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-2 ;
+      S11(i = c2,k = c6) ;
+    }
+    c4 = 2*N-3 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-2 ;
+      S10(i = c2,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+    c4 = 2*N-2 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S11(i = c2,k = c6) ;
+    }
+    c4 = 2*N-1 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S10(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N == 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    S1(i = c2,j = 2,k = M) ;
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 2,k = c6) ;
+      S7(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 1,k = c6) ;
+    }
+  }
+}
+if ((M == 1) && (N >= 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=-1;c4<=0;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = 1) ;
+      }
+    }
+    for (c4=1;c4<=2*N-5;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S3(i = c2,k = 1) ;
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = 1) ;
+      }
+    }
+    for (c4=2*N-4;c4<=2*N-3;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S3(i = c2,k = 1) ;
+      }
+    }
+  }
+}
+if ((M == 1) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    S1(i = c2,j = 1,k = 1) ;
+    S3(i = c2,j = 1,k = 1) ;
+  }
+}
+if ((M >= 2) && (N >= 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S8(i = c2,j = 1,k = c6) ;
+    }
+    for (c4=3;c4<=2*N-2;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if (c4%2 == 0) {
+          S2(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S8(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4-1)/2 ;
+          S9(i = c2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-1 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S9(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S8(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S9(i = c2,j = 1,k = c6) ;
+    }
+  }
+}
+if ((M == 1) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=2;c4<=2*N-2;c4++) {
+      if (c4%2 == 0) {
+        S2(i = c2,j = c4/2,k = 1) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S4(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S5(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= Q+1)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S12(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= Q+1)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S13(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= 2)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S14(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S15(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-interp.c.ppl b/test/reservoir/mg-interp.c.ppl
new file mode 100644 (file)
index 0000000..4c891c3
--- /dev/null
@@ -0,0 +1,311 @@
+/* Generated from ././reservoir/mg-interp.cloog by CLooG 0.15 64 bits in 1.58s. */
+if ((M >= 2) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 1,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N == 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    S1(i = c2,j = 2,k = M) ;
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 2,k = c6) ;
+      S7(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S10(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N >= 4)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 1,k = c6) ;
+      S7(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      S3(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    S1(i = c2,j = 2,k = M) ;
+    for (c6=1;c6<=M-1;c6++) {
+      S6(i = c2,j = 2,k = c6) ;
+      S7(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S11(i = c2,j = 1,k = c6) ;
+    }
+    for (c4=3;c4<=2*N-5;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4-1)/2 ;
+          S10(i = c2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S3(i = c2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          j = (c4+2)/2 ;
+          S6(i = c2,k = c6) ;
+          S7(i = c2,k = c6) ;
+        }
+        if ((c4+1)%2 == 0) {
+          j = (c4+3)/2 ;
+          S1(i = c2,k = c6) ;
+        }
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = M) ;
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S11(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-4 ;
+    for (c6=1;c6<=M-1;c6++) {
+      if (1%2 == 0) {
+        j = (2*N-5)/2 ;
+        S10(i = c2,k = c6) ;
+      }
+    }
+    for (c6=1;c6<=M;c6++) {
+      if (1%2 == 0) {
+        j = (2*N-3)/2 ;
+        S3(i = c2,k = c6) ;
+      }
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S6(i = c2,k = c6) ;
+      S7(i = c2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-2 ;
+      S11(i = c2,k = c6) ;
+    }
+    c4 = 2*N-3 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-2 ;
+      S10(i = c2,k = c6) ;
+    }
+    for (c6=1;c6<=M;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      if (1%2 == 0) {
+        j = (2*N-3)/2 ;
+        S11(i = c2,k = c6) ;
+      }
+    }
+    c4 = 2*N-2 ;
+    for (c6=1;c6<=M-1;c6++) {
+      if (1%2 == 0) {
+        j = (2*N-3)/2 ;
+        S10(i = c2,k = c6) ;
+      }
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S11(i = c2,k = c6) ;
+    }
+    c4 = 2*N-1 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S10(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M == 1) && (N >= 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=-1;c4<=0;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = 1) ;
+      }
+    }
+    for (c4=1;c4<=2*N-5;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S3(i = c2,k = 1) ;
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+3)/2 ;
+        S1(i = c2,k = 1) ;
+      }
+    }
+    for (c4=2*N-4;c4<=2*N-3;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S3(i = c2,k = 1) ;
+      }
+    }
+  }
+}
+if ((M == 1) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    S1(i = c2,j = 1,k = 1) ;
+    S3(i = c2,j = 1,k = 1) ;
+  }
+}
+if ((M >= 2) && (N >= 3)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S8(i = c2,j = 1,k = c6) ;
+    }
+    for (c4=3;c4<=2*N-2;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if (c4%2 == 0) {
+          S2(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S8(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+      for (c6=1;c6<=M-1;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4-1)/2 ;
+          S9(i = c2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-1 ;
+    for (c6=1;c6<=M-1;c6++) {
+      j = N-1 ;
+      S9(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 2) && (N == 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S8(i = c2,j = 1,k = c6) ;
+    }
+    for (c6=1;c6<=M-1;c6++) {
+      S9(i = c2,j = 1,k = c6) ;
+    }
+  }
+}
+if ((M == 1) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=2;c4<=2*N-2;c4++) {
+      if (c4%2 == 0) {
+        S2(i = c2,j = c4/2,k = 1) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S4(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S5(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= Q+1)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S12(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= Q+1)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S13(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= 2)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S14(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=R;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S15(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-interp.cloog b/test/reservoir/mg-interp.cloog
new file mode 100755 (executable)
index 0000000..9d08463
--- /dev/null
@@ -0,0 +1,376 @@
+# Language
+c
+
+# Context
+
+    1 11
+    1    0    0    0    0    0    0    0    0    0    1
+0
+
+# Number of statments
+15
+
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0   -1    0    0    0    0
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0   -1    0    0    0    0
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0   -1    0    0    0    0
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-q >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0   -1    0    0    0    0
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+15
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    3
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    2
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    2
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -4
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -5
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -6
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -7
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/mg-interp2.c.polylib b/test/reservoir/mg-interp2.c.polylib
new file mode 100644 (file)
index 0000000..a19c581
--- /dev/null
@@ -0,0 +1,38 @@
+/* Generated from mg-interp2.cloog by CLooG v0.14.0 64 bits in 0.02s. */
+/* CLooG asked for 160 KBytes. */
+if ((M >= P+1) && (N >= Q+1)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= Q+1)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S2(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S3(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S4(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-interp2.c.ppl b/test/reservoir/mg-interp2.c.ppl
new file mode 100644 (file)
index 0000000..0b455ad
--- /dev/null
@@ -0,0 +1,37 @@
+/* Generated from ././reservoir/mg-interp2.cloog by CLooG 0.15 64 bits in 0.06s. */
+if ((M >= P+1) && (N >= Q+1)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= Q+1)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=Q;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S2(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= P+1) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=P;c6<=M-1;c6++) {
+        S3(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
+if ((M >= 2) && (N >= 2)) {
+  for (c2=1;c2<=O-1;c2++) {
+    for (c4=1;c4<=N-1;c4++) {
+      for (c6=1;c6<=M-1;c6++) {
+        S4(i = c2,j = c4,k = c6) ;
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-interp2.cloog b/test/reservoir/mg-interp2.cloog
new file mode 100755 (executable)
index 0000000..d1218bc
--- /dev/null
@@ -0,0 +1,112 @@
+# Language
+c
+
+# Context
+
+    1 11
+    1    0    0    0    0    0    0    0    0    0    1
+0
+
+# Number of statments
+4
+
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-p >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-o >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0   -1    0    0    0    0    0    0
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q,r,s,t) | i-1 >= 0, -i+n-1 >= 0, j-1 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 14
+    1    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    1   -1    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    1    0   -1    0    0    1    0    0    0    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0   -1    1    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+4
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 21
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -3
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/mg-psinv.c.polylib b/test/reservoir/mg-psinv.c.polylib
new file mode 100644 (file)
index 0000000..89abd98
--- /dev/null
@@ -0,0 +1,53 @@
+/* Generated from ./reservoir/mg-psinv.cloog by CLooG v0.14.0 gmp bits in 0.06s. */
+/* CLooG asked for 300 KBytes. */
+if ((M >= 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=4;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+      for (c6=2;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S3(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-2 ;
+    for (c6=2;c6<=M-1;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M-1;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 1) && (M <= 2) && (N >= 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c4=3;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-psinv.c.ppl b/test/reservoir/mg-psinv.c.ppl
new file mode 100644 (file)
index 0000000..5179314
--- /dev/null
@@ -0,0 +1,52 @@
+/* Generated from ././reservoir/mg-psinv.cloog by CLooG 0.15 64 bits in 0.05s. */
+if ((M >= 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=4;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+      for (c6=2;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S3(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-2 ;
+    for (c6=2;c6<=M-1;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M-1;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 1) && (M <= 2) && (N >= 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c4=3;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-psinv.cloog b/test/reservoir/mg-psinv.cloog
new file mode 100755 (executable)
index 0000000..7f0dd2c
--- /dev/null
@@ -0,0 +1,88 @@
+# Language
+c
+
+# Context
+
+    1 5
+    1    0    0    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -1
+    1    0    0   -1    1    0    0    0
+    1    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -1
+    1    0    0   -1    1    0    0    0
+    1    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -2
+    1    0    0   -1    1    0    0   -1
+    1    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/mg-resid.c.polylib b/test/reservoir/mg-resid.c.polylib
new file mode 100644 (file)
index 0000000..3d0ec6f
--- /dev/null
@@ -0,0 +1,53 @@
+/* Generated from ./reservoir/mg-resid.cloog by CLooG v0.14.0 gmp bits in 0.06s. */
+/* CLooG asked for 300 KBytes. */
+if ((M >= 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=4;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+      for (c6=2;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S3(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-2 ;
+    for (c6=2;c6<=M-1;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M-1;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 1) && (M <= 2) && (N >= 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c4=3;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-resid.c.ppl b/test/reservoir/mg-resid.c.ppl
new file mode 100644 (file)
index 0000000..9c9dd4e
--- /dev/null
@@ -0,0 +1,52 @@
+/* Generated from ././reservoir/mg-resid.cloog by CLooG 0.15 64 bits in 0.07s. */
+if ((M >= 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=4;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+      for (c6=2;c6<=M-1;c6++) {
+        if (c4%2 == 0) {
+          S3(i = c2,j = c4/2,k = c6) ;
+        }
+      }
+    }
+    c4 = 2*N-2 ;
+    for (c6=2;c6<=M-1;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+    }
+  }
+}
+if ((M >= 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=1;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M-1;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+    }
+  }
+}
+if ((M >= 1) && (M <= 2) && (N >= 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c4=3;c4<=2*N-3;c4++) {
+      for (c6=1;c6<=M;c6++) {
+        if ((c4+1)%2 == 0) {
+          j = (c4+1)/2 ;
+          S1(i = c2,k = c6) ;
+          S2(i = c2,k = c6) ;
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/mg-resid.cloog b/test/reservoir/mg-resid.cloog
new file mode 100755 (executable)
index 0000000..7f0dd2c
--- /dev/null
@@ -0,0 +1,88 @@
+# Language
+c
+
+# Context
+
+    1 5
+    1    0    0    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -1
+    1    0    0   -1    1    0    0    0
+    1    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -1
+    1    0    0   -1    1    0    0    0
+    1    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 8
+    1    1    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1   -1
+    1    0    1    0    0    0    0   -2
+    1    0   -1    0    0    1    0   -1
+    1    0    0    1    0    0    0   -2
+    1    0    0   -1    1    0    0   -1
+    1    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 15
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/mg-rprj3.c.polylib b/test/reservoir/mg-rprj3.c.polylib
new file mode 100644 (file)
index 0000000..e4f1b54
--- /dev/null
@@ -0,0 +1,143 @@
+/* Generated from ./reservoir/mg-rprj3.cloog by CLooG v0.14.0 gmp bits in 0.35s. */
+/* CLooG asked for 1128 KBytes. */
+if ((M >= 4) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=3;c4<=N-1;c4++) {
+      for (c6=2;c6<=M;c6++) {
+        j = c4-1 ;
+        S2(i = c2,k = c6) ;
+      }
+      j = c4-1 ;
+      S4(i = c2,k = 2) ;
+      for (c6=2;c6<=M-2;c6++) {
+        j = c4-1 ;
+        S3(i = c2,k = c6) ;
+        j = c4-1 ;
+        S5(i = c2,k = c6) ;
+        j = c4-1 ;
+        k = c6+1 ;
+        S4(i = c2) ;
+      }
+      c6 = M-1 ;
+      j = c4-1 ;
+      k = M-1 ;
+      S3(i = c2) ;
+      j = c4-1 ;
+      k = M-1 ;
+      S5(i = c2) ;
+      for (c6=2;c6<=M;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+    for (c6=2;c6<=M;c6++) {
+      j = N-1 ;
+      S2(i = c2,k = c6) ;
+    }
+    j = N-1 ;
+    S4(i = c2,k = 2) ;
+    for (c6=2;c6<=M-2;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+      j = N-1 ;
+      S5(i = c2,k = c6) ;
+      j = N-1 ;
+      k = c6+1 ;
+      S4(i = c2) ;
+    }
+    c6 = M-1 ;
+    j = N-1 ;
+    k = M-1 ;
+    S3(i = c2) ;
+    j = N-1 ;
+    k = M-1 ;
+    S5(i = c2) ;
+  }
+}
+if ((M >= 4) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M;c6++) {
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    S4(i = c2,j = 2,k = 2) ;
+    for (c6=2;c6<=M-2;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+      S5(i = c2,j = 2,k = c6) ;
+      k = c6+1 ;
+      S4(i = c2,j = 2) ;
+    }
+    c6 = M-1 ;
+    k = M-1 ;
+    S3(i = c2,j = 2) ;
+    k = M-1 ;
+    S5(i = c2,j = 2) ;
+  }
+}
+if ((M == 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=3;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=3;c6++) {
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    S4(i = c2,j = 2,k = 2) ;
+    S3(i = c2,j = 2,k = 2) ;
+    S5(i = c2,j = 2,k = 2) ;
+  }
+}
+if ((M == 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=3;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=3;c4<=N-1;c4++) {
+      for (c6=2;c6<=3;c6++) {
+        j = c4-1 ;
+        S2(i = c2,k = c6) ;
+      }
+      j = c4-1 ;
+      S4(i = c2,k = 2) ;
+      j = c4-1 ;
+      S3(i = c2,k = 2) ;
+      j = c4-1 ;
+      S5(i = c2,k = 2) ;
+      for (c6=2;c6<=3;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+    for (c6=2;c6<=3;c6++) {
+      j = N-1 ;
+      S2(i = c2,k = c6) ;
+    }
+    j = N-1 ;
+    S4(i = c2,k = 2) ;
+    j = N-1 ;
+    S3(i = c2,k = 2) ;
+    j = N-1 ;
+    S5(i = c2,k = 2) ;
+  }
+}
+if ((M == 2) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    S1(i = c2,j = 2,k = 2) ;
+    for (c4=3;c4<=N-1;c4++) {
+      j = c4-1 ;
+      S2(i = c2,k = 2) ;
+      S1(i = c2,j = c4,k = 2) ;
+    }
+    j = N-1 ;
+    S2(i = c2,k = 2) ;
+  }
+}
+if ((M == 2) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    S1(i = c2,j = 2,k = 2) ;
+    S2(i = c2,j = 2,k = 2) ;
+  }
+}
diff --git a/test/reservoir/mg-rprj3.c.ppl b/test/reservoir/mg-rprj3.c.ppl
new file mode 100644 (file)
index 0000000..7a93dd2
--- /dev/null
@@ -0,0 +1,142 @@
+/* Generated from ././reservoir/mg-rprj3.cloog by CLooG 0.15 64 bits in 0.58s. */
+if ((M >= 4) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=3;c4<=N-1;c4++) {
+      for (c6=2;c6<=M;c6++) {
+        j = c4-1 ;
+        S2(i = c2,k = c6) ;
+      }
+      j = c4-1 ;
+      S4(i = c2,k = 2) ;
+      for (c6=2;c6<=M-2;c6++) {
+        j = c4-1 ;
+        S3(i = c2,k = c6) ;
+        j = c4-1 ;
+        S5(i = c2,k = c6) ;
+        j = c4-1 ;
+        k = c6+1 ;
+        S4(i = c2) ;
+      }
+      c6 = M-1 ;
+      j = c4-1 ;
+      k = M-1 ;
+      S3(i = c2) ;
+      j = c4-1 ;
+      k = M-1 ;
+      S5(i = c2) ;
+      for (c6=2;c6<=M;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+    for (c6=2;c6<=M;c6++) {
+      j = N-1 ;
+      S2(i = c2,k = c6) ;
+    }
+    j = N-1 ;
+    S4(i = c2,k = 2) ;
+    for (c6=2;c6<=M-2;c6++) {
+      j = N-1 ;
+      S3(i = c2,k = c6) ;
+      j = N-1 ;
+      S5(i = c2,k = c6) ;
+      j = N-1 ;
+      k = c6+1 ;
+      S4(i = c2) ;
+    }
+    c6 = M-1 ;
+    j = N-1 ;
+    k = M-1 ;
+    S3(i = c2) ;
+    j = N-1 ;
+    k = M-1 ;
+    S5(i = c2) ;
+  }
+}
+if ((M == 3) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=3;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c4=3;c4<=N-1;c4++) {
+      for (c6=2;c6<=3;c6++) {
+        j = c4-1 ;
+        S2(i = c2,k = c6) ;
+      }
+      j = c4-1 ;
+      S4(i = c2,k = 2) ;
+      j = c4-1 ;
+      S3(i = c2,k = 2) ;
+      j = c4-1 ;
+      S5(i = c2,k = 2) ;
+      for (c6=2;c6<=3;c6++) {
+        S1(i = c2,j = c4,k = c6) ;
+      }
+    }
+    for (c6=2;c6<=3;c6++) {
+      j = N-1 ;
+      S2(i = c2,k = c6) ;
+    }
+    j = N-1 ;
+    S4(i = c2,k = 2) ;
+    j = N-1 ;
+    S3(i = c2,k = 2) ;
+    j = N-1 ;
+    S5(i = c2,k = 2) ;
+  }
+}
+if ((M == 3) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=3;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=3;c6++) {
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    S4(i = c2,j = 2,k = 2) ;
+    S3(i = c2,j = 2,k = 2) ;
+    S5(i = c2,j = 2,k = 2) ;
+  }
+}
+if ((M >= 4) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    for (c6=2;c6<=M;c6++) {
+      S1(i = c2,j = 2,k = c6) ;
+    }
+    for (c6=2;c6<=M;c6++) {
+      S2(i = c2,j = 2,k = c6) ;
+    }
+    S4(i = c2,j = 2,k = 2) ;
+    for (c6=2;c6<=M-2;c6++) {
+      S3(i = c2,j = 2,k = c6) ;
+      S5(i = c2,j = 2,k = c6) ;
+      k = c6+1 ;
+      S4(i = c2,j = 2) ;
+    }
+    c6 = M-1 ;
+    k = M-1 ;
+    S3(i = c2,j = 2) ;
+    k = M-1 ;
+    S5(i = c2,j = 2) ;
+  }
+}
+if ((M == 2) && (N >= 4)) {
+  for (c2=2;c2<=O-1;c2++) {
+    S1(i = c2,j = 2,k = 2) ;
+    for (c4=3;c4<=N-1;c4++) {
+      j = c4-1 ;
+      S2(i = c2,k = 2) ;
+      S1(i = c2,j = c4,k = 2) ;
+    }
+    j = N-1 ;
+    S2(i = c2,k = 2) ;
+  }
+}
+if ((M == 2) && (N == 3)) {
+  for (c2=2;c2<=O-1;c2++) {
+    S1(i = c2,j = 2,k = 2) ;
+    S2(i = c2,j = 2,k = 2) ;
+  }
+}
diff --git a/test/reservoir/mg-rprj3.cloog b/test/reservoir/mg-rprj3.cloog
new file mode 100755 (executable)
index 0000000..adf72fd
--- /dev/null
@@ -0,0 +1,136 @@
+# Language
+c
+
+# Context
+
+    1 8
+    1    0    0    0    0    0    0    1
+0
+
+# Number of statments
+5
+
+1
+# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 11
+    1    1    0    0    0    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0   -2
+    1    0   -1    0    0    1    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0   -2
+    1    0    0   -1    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 11
+    1    1    0    0    0    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0   -2
+    1    0   -1    0    0    1    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0   -2
+    1    0    0   -1    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 11
+    1    1    0    0    0    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0   -2
+    1    0   -1    0    0    1    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0   -2
+    1    0    0   -1    1    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 11
+    1    1    0    0    0    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0   -2
+    1    0   -1    0    0    1    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0   -2
+    1    0    0   -1    1    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m,n,o,p,q) | i-2 >= 0, -i+n-1 >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+l-1 >= 0, 1 >= 0 }
+
+    7 11
+    1    1    0    0    0    0    0    0    0    0   -2
+    1   -1    0    0    0    0    1    0    0    0   -1
+    1    0    1    0    0    0    0    0    0    0   -2
+    1    0   -1    0    0    1    0    0    0    0   -1
+    1    0    0    1    0    0    0    0    0    0   -2
+    1    0    0   -1    1    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+5
+
+    8 18
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 18
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 18
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 18
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    1
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -2
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 18
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali1.c.polylib b/test/reservoir/pingali1.c.polylib
new file mode 100644 (file)
index 0000000..67fa49d
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated from pingali1.cloog by CLooG v0.14.0 64 bits in 0.01s. */
+/* CLooG asked for 160 KBytes. */
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=1;c4<=2;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S2(i = c2) ;
+      }
+    }
+    for (c4=3;c4<=2*N-1;c4++) {
+      for (c6=max(1,c4-N);c6<=floord(c4-1,2);c6++) {
+        j = c4-c6 ;
+        S1(i = c2,k = c6) ;
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S2(i = c2) ;
+      }
+    }
+  }
+}
+if (N == 1) {
+  for (c2=1;c2<=M;c2++) {
+    S2(i = c2,j = 1) ;
+  }
+}
diff --git a/test/reservoir/pingali1.c.ppl b/test/reservoir/pingali1.c.ppl
new file mode 100644 (file)
index 0000000..1e803bc
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated from ././reservoir/pingali1.cloog by CLooG 0.15 64 bits in 0.03s. */
+if (N >= 2) {
+  for (c2=1;c2<=M;c2++) {
+    for (c4=1;c4<=2;c4++) {
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S2(i = c2) ;
+      }
+    }
+    for (c4=3;c4<=2*N-1;c4++) {
+      for (c6=max(c4-N,1);c6<=floord(c4-1,2);c6++) {
+        j = c4-c6 ;
+        S1(i = c2,k = c6) ;
+      }
+      if ((c4+1)%2 == 0) {
+        j = (c4+1)/2 ;
+        S2(i = c2) ;
+      }
+    }
+  }
+}
+if (N == 1) {
+  for (c2=1;c2<=M;c2++) {
+    S2(i = c2,j = 1) ;
+  }
+}
diff --git a/test/reservoir/pingali1.cloog b/test/reservoir/pingali1.cloog
new file mode 100755 (executable)
index 0000000..0be0a2a
--- /dev/null
@@ -0,0 +1,61 @@
+# Language
+c
+
+# Context
+
+    1 4
+    1    0    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, -j+m >= 0, k-1 >= 0, j-k-1 >= 0, 1 >= 0 }
+
+    6 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    1    0    0
+    1    0   -1    0    0    1    0
+    1    0    0    1    0    0   -1
+    1    0    1   -1    0    0   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+l >= 0, 1 >= 0 }
+
+    5 6
+    1    1    0    0    0   -1
+    1   -1    0    1    0    0
+    1    0    1    0    0   -1
+    1    0   -1    0    1    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -2    0    0    1
+    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali2.c.polylib b/test/reservoir/pingali2.c.polylib
new file mode 100644 (file)
index 0000000..4eed9ce
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from pingali2.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali2.c.ppl b/test/reservoir/pingali2.c.ppl
new file mode 100644 (file)
index 0000000..4c57fdf
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ././reservoir/pingali2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali2.cloog b/test/reservoir/pingali2.cloog
new file mode 100755 (executable)
index 0000000..0f89038
--- /dev/null
@@ -0,0 +1,56 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 10
+    0    1    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0   -1
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali3.c.polylib b/test/reservoir/pingali3.c.polylib
new file mode 100644 (file)
index 0000000..a385cf9
--- /dev/null
@@ -0,0 +1,14 @@
+/* Generated from pingali3.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/pingali3.c.ppl b/test/reservoir/pingali3.c.ppl
new file mode 100644 (file)
index 0000000..cf5ed55
--- /dev/null
@@ -0,0 +1,13 @@
+/* Generated from ././reservoir/pingali3.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    for (c6=1;c6<=M;c6++) {
+      S2(i = c2,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/pingali3.cloog b/test/reservoir/pingali3.cloog
new file mode 100755 (executable)
index 0000000..8f345c0
--- /dev/null
@@ -0,0 +1,62 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | i-1 >= 0, -i+l >= 0, j-1 >= 0, -j+l >= 0, k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    7 6
+    1    1    0    0    0   -1
+    1   -1    0    0    1    0
+    1    0    1    0    0   -1
+    1    0   -1    0    1    0
+    1    0    0    1    0   -1
+    1    0    0   -1    1    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0    0    0   -1    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali4.c.polylib b/test/reservoir/pingali4.c.polylib
new file mode 100644 (file)
index 0000000..535bafc
--- /dev/null
@@ -0,0 +1,12 @@
+/* Generated from pingali4.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali4.c.ppl b/test/reservoir/pingali4.c.ppl
new file mode 100644 (file)
index 0000000..6e56b8b
--- /dev/null
@@ -0,0 +1,11 @@
+/* Generated from ././reservoir/pingali4.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S1(i = c2,j = c4) ;
+  }
+}
+for (c2=1;c2<=M;c2++) {
+  for (c4=1;c4<=M;c4++) {
+    S2(i = c2,j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali4.cloog b/test/reservoir/pingali4.cloog
new file mode 100755 (executable)
index 0000000..46f4e07
--- /dev/null
@@ -0,0 +1,57 @@
+# Language
+c
+
+# Context
+
+    2 3
+    1    1   -2
+    1    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | i-1 >= 0, -i+k >= 0, j-1 >= 0, -j+k >= 0, 1 >= 0 }
+
+    5 5
+    1    1    0    0   -1
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    0   -1    1    0
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+
+    6 10
+    0    1    0    0    0    0    0    0    0   -1
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali5.c.polylib b/test/reservoir/pingali5.c.polylib
new file mode 100644 (file)
index 0000000..5630c35
--- /dev/null
@@ -0,0 +1,26 @@
+/* Generated from pingali5.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 160 KBytes. */
+for (c2=3;c2<=2*M-3;c2++) {
+  for (c4=ceild(c2+3,2);c4<=M;c4++) {
+    for (i=ceild(c2+1,2);i<=min(c4-1,c2-1);i++) {
+      j = c2-i ;
+      S1(k = c4) ;
+    }
+  }
+  for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) {
+    i = c2-c4 ;
+    S2(j = c4) ;
+  }
+  for (c4=ceild(c2+3,2);c4<=M;c4++) {
+    for (i=ceild(c2+1,2);i<=min(c4-1,c2-1);i++) {
+      j = c2-i ;
+      S3(k = c4) ;
+    }
+  }
+}
+for (c2=max(2*M-2,3);c2<=2*M-1;c2++) {
+  for (c4=max(1,c2-M);c4<=floord(c2-1,2);c4++) {
+    i = c2-c4 ;
+    S2(j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali5.c.ppl b/test/reservoir/pingali5.c.ppl
new file mode 100644 (file)
index 0000000..7aba0e4
--- /dev/null
@@ -0,0 +1,25 @@
+/* Generated from ././reservoir/pingali5.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (c2=3;c2<=2*M-3;c2++) {
+  for (c4=ceild(c2+3,2);c4<=M;c4++) {
+    for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) {
+      j = c2-i ;
+      S1(k = c4) ;
+    }
+  }
+  for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) {
+    i = c2-c4 ;
+    S2(j = c4) ;
+  }
+  for (c4=ceild(c2+3,2);c4<=M;c4++) {
+    for (i=ceild(c2+1,2);i<=min(c2-1,c4-1);i++) {
+      j = c2-i ;
+      S3(k = c4) ;
+    }
+  }
+}
+for (c2=max(2*M-2,3);c2<=2*M-1;c2++) {
+  for (c4=max(c2-M,1);c4<=floord(c2-1,2);c4++) {
+    i = c2-c4 ;
+    S2(j = c4) ;
+  }
+}
diff --git a/test/reservoir/pingali5.cloog b/test/reservoir/pingali5.cloog
new file mode 100755 (executable)
index 0000000..2933d75
--- /dev/null
@@ -0,0 +1,81 @@
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statments
+3
+
+1
+# { (i,j,k,l) | j-1 >= 0, i-j-1 >= 0, -i+k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    5 6
+    1    0    1    0    0   -1
+    1    1   -1    0    0   -1
+    1   -1    0    1    0   -1
+    1    0    0   -1    1    0
+    1    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k) | -i+k >= 0, j-1 >= 0, i-j-1 >= 0, 1 >= 0 }
+
+    4 5
+    1   -1    0    1    0
+    1    0    1    0   -1
+    1    1   -1    0   -1
+    1    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l) | j-1 >= 0, i-j-1 >= 0, -i+k-1 >= 0, -k+l >= 0, 1 >= 0 }
+
+    5 6
+    1    0    1    0    0   -1
+    1    1   -1    0    0   -1
+    1   -1    0    1    0   -1
+    1    0    0   -1    1    0
+    1    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+3
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 12
+    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -1    0    0
+    0    0    0    1    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0   -1
+    0    0    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 13
+    0    1    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -1   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0   -2
+    0    0    0    0    1    0    0    0    0    0   -1    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0   -2
+    0    0    0    0    0    0    1    0    0    0   -1    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/pingali6.c.polylib b/test/reservoir/pingali6.c.polylib
new file mode 100644 (file)
index 0000000..120f9aa
--- /dev/null
@@ -0,0 +1,36 @@
+/* Generated from ./reservoir/pingali6.cloog by CLooG v0.14.0 gmp bits in 0.04s. */
+/* CLooG asked for 212 KBytes. */
+if (N >= 3) {
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S1(i = 1,j = c4,k = c6) ;
+    }
+  }
+}
+if (N >= 3) {
+  for (c2=3;c2<=2*M;c2++) {
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if (c2%2 == 0) {
+          S1(i = c2/2,j = c4,k = c6) ;
+        }
+      }
+    }
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if ((c2+1)%2 == 0) {
+          i = (c2-1)/2 ;
+          S2(j = c4,k = c6) ;
+        }
+      }
+    }
+  }
+}
+if (N >= 3) {
+  c2 = 2*M+1 ;
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S2(i = M,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/pingali6.c.ppl b/test/reservoir/pingali6.c.ppl
new file mode 100644 (file)
index 0000000..930cf2b
--- /dev/null
@@ -0,0 +1,35 @@
+/* Generated from ././reservoir/pingali6.cloog by CLooG 0.15 64 bits in 0.04s. */
+if (N >= 3) {
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S1(i = 1,j = c4,k = c6) ;
+    }
+  }
+}
+if (N >= 3) {
+  for (c2=3;c2<=2*M;c2++) {
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if (c2%2 == 0) {
+          S1(i = c2/2,j = c4,k = c6) ;
+        }
+      }
+    }
+    for (c4=2;c4<=N-1;c4++) {
+      for (c6=2;c6<=N-1;c6++) {
+        if ((c2+1)%2 == 0) {
+          i = (c2-1)/2 ;
+          S2(j = c4,k = c6) ;
+        }
+      }
+    }
+  }
+}
+if (N >= 3) {
+  c2 = 2*M+1 ;
+  for (c4=2;c4<=N-1;c4++) {
+    for (c6=2;c6<=N-1;c6++) {
+      S2(i = M,j = c4,k = c6) ;
+    }
+  }
+}
diff --git a/test/reservoir/pingali6.cloog b/test/reservoir/pingali6.cloog
new file mode 100755 (executable)
index 0000000..93726ec
--- /dev/null
@@ -0,0 +1,66 @@
+# Language
+c
+
+# Context
+
+    3 4
+    1    1    0   -1
+    1    0    1   -1
+    1    0    0    1
+0
+
+# Number of statments
+2
+
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 }
+
+    7 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    1    0    0
+    1    0    1    0    0    0   -2
+    1    0   -1    0    0    1   -1
+    1    0    0    1    0    0   -2
+    1    0    0   -1    0    1   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+1
+# { (i,j,k,l,m) | i-1 >= 0, -i+l >= 0, j-2 >= 0, -j+m-1 >= 0, k-2 >= 0, -k+m-1 >= 0, 1 >= 0 }
+
+    7 7
+    1    1    0    0    0    0   -1
+    1   -1    0    0    1    0    0
+    1    0    1    0    0    0   -2
+    1    0   -1    0    0    1   -1
+    1    0    0    1    0    0   -2
+    1    0    0   -1    0    1   -1
+    1    0    0    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+2
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -2    0    0    0    0    0
+    0    0    0    1    0    0    0    0    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+
+    8 14
+    0    1    0    0    0    0    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0    0    0   -2    0    0    0    0   -1
+    0    0    0    1    0    0    0    0    0    0    0    0    0   -1
+    0    0    0    0    1    0    0    0    0   -1    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0    0    0    0    0
+    0    0    0    0    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    0    0    0    0    1    0    0    0    0    0    0
+    1    0    0    0    0    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/stride.c.polylib b/test/reservoir/stride.c.polylib
new file mode 100644 (file)
index 0000000..7ead4bd
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from stride.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 80 KBytes. */
+for (c2=2;c2<=M;c2+=7) {
+  j = (c2-2)/7 ;
+  S1(i = c2) ;
+}
diff --git a/test/reservoir/stride.c.ppl b/test/reservoir/stride.c.ppl
new file mode 100644 (file)
index 0000000..c51e2e1
--- /dev/null
@@ -0,0 +1,5 @@
+/* Generated from ./reservoir/stride.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=2;c2<=M;c2+=7) {
+  j = (c2-2)/7 ;
+  S1(i = c2) ;
+}
diff --git a/test/reservoir/stride.cloog b/test/reservoir/stride.cloog
new file mode 100644 (file)
index 0000000..760a1a6
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Stride-bug:
+#
+# for (i = 2; i <= N; i+=7) {
+#   S(i);
+# 
+# becomes:
+#
+# for (i = 5; i <= N; i+=7) {
+#   S(i);
+
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statements
+1
+
+1
+
+    4 5
+    0    1   -7    0   -2
+    1    1    0    0   -2
+    1   -1    0    1    0
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/stride2.c.polylib b/test/reservoir/stride2.c.polylib
new file mode 100644 (file)
index 0000000..458cc22
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from stride2.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 80 KBytes. */
+for (c2=2;c2<=M;c2+=7) {
+  j = (c2-2)/7 ;
+  S1(i = c2) ;
+}
diff --git a/test/reservoir/stride2.c.ppl b/test/reservoir/stride2.c.ppl
new file mode 100644 (file)
index 0000000..c29b9e4
--- /dev/null
@@ -0,0 +1,5 @@
+/* Generated from ./reservoir/stride2.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (c2=2;c2<=M;c2+=7) {
+  j = (c2-2)/7 ;
+  S1(i = c2) ;
+}
diff --git a/test/reservoir/stride2.cloog b/test/reservoir/stride2.cloog
new file mode 100644 (file)
index 0000000..5fb9b14
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# Stride-bug:
+#
+# for (i = 2; i <= N; i+=7) {
+#   S(i);
+# 
+# becomes:
+#
+# for (i = 5; i <= N; i+=7) {
+#   S(i);
+
+# Language
+c
+
+# Context
+
+    1 3
+    1    0    1
+0
+
+# Number of statements
+1
+
+1
+
+    4 5
+    0    1   -7    0   -2  # i - 7j = 2
+    1    1    0    0    0  # i >= 0
+    1   -1    0    1    0  # i <= n
+    1    0    0    0    1
+
+0 0 0
+0
+# Scattering functions
+1
+
+    6 10
+    0    1    0    0    0    0    0    0    0    0
+    0    0    1    0    0    0   -1    0    0    0
+    0    0    0    1    0    0    0    0    0    0
+    0    0    0    0    1    0    0    0    0    0
+    0    0    0    0    0    1    0    0    0    0
+    1    0    0    0    0    0    0    0    0    1
+
+0
diff --git a/test/reservoir/tang-xue1.c.polylib b/test/reservoir/tang-xue1.c.polylib
new file mode 100644 (file)
index 0000000..f7ae9f2
--- /dev/null
@@ -0,0 +1,18 @@
+/* Generated from ./reservoir/tang-xue1.cloog by CLooG v0.14.0 gmp bits in 0.03s. */
+/* CLooG asked for 152 KBytes. */
+for (c2=0;c2<=9;c2++) {
+  for (c4=max(-1,c2-9);c4<=min(4,c2+3);c4++) {
+    for (c6=max(max(c2,1),c2-c4);c6<=min(min(c2+1,9),c2-c4+4);c6++) {
+      for (c8=max(1,-c2+c4+c6);c8<=min(4,-c2+c4+c6+1);c8++) {
+        if (c2%2 == 0) {
+          if ((c2+c4)%2 == 0) {
+            j = (-c2+c4)/2 ;
+            k = -c2+c6 ;
+            l = -c4+c8 ;
+            S1(i = c2/2) ;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/tang-xue1.c.ppl b/test/reservoir/tang-xue1.c.ppl
new file mode 100644 (file)
index 0000000..188b862
--- /dev/null
@@ -0,0 +1,17 @@
+/* Generated from ././reservoir/tang-xue1.cloog by CLooG 0.15 64 bits in 0.05s. */
+for (c2=0;c2<=9;c2++) {
+  for (c4=max(c2-9,-1);c4<=min(c2+3,4);c4++) {
+    for (c6=max(max(c2-c4,c2),1);c6<=min(min(c2-c4+4,c2+1),9);c6++) {
+      for (c8=max(-c2+c4+c6,1);c8<=min(-c2+c4+c6+1,4);c8++) {
+        if (c2%2 == 0) {
+          if ((c2+c4)%2 == 0) {
+            j = (-c2+c4)/2 ;
+            k = -c2+c6 ;
+            l = -c4+c8 ;
+            S1(i = c2/2) ;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/test/reservoir/tang-xue1.cloog b/test/reservoir/tang-xue1.cloog
new file mode 100644 (file)
index 0000000..bf9b92b
--- /dev/null
@@ -0,0 +1,80 @@
+#
+# Example 1 in "Generating Efficient Tiled Code for Distributed Memory
+# Machines", Peiyi Tang and Jingling Xue.
+#
+
+# for (int i = 1; i <= 9; i++) {
+#    for (int j = 1; j <= 4; j++) {
+#       A[i,2*j] = A[i,2*j-2] + A[i-1,2*j-2];
+#    }
+# }
+#
+# We tile it with a tiling matrix H = [1/2  0]
+#                                     [-1/2 1/2]
+#
+# We get:
+#
+# for (int i = 0; i <= 9; i += 2) {
+#   for (int j = max(-1, -9 + i); j <= min(4, 3 + i); j++) {
+#     for (int k = max(1, i, i-j); k <= min(4 + i -j, 1 + i, 9); k++) {
+#       for (int l = max(-i + j + k, 1); l <= min(4, 1 -i + j + k); l++) {
+#         if (i % 2 == 0) {
+#           if ((i + j) % 2 == 0) {
+#             A[k, 2 * l] = A[k, -2 + 2 * l] + A[-1 + k, -2 + 2 * l];
+#           }
+#         }
+#       }
+#     }
+#   }
+# }
+#
+
+# language: C 
+c
+
+# parameter (none)
+1 2
+# 1
+1 1
+0 
+
+1 # number of statements
+
+1 
+#    -2i-2j   -l +4 >= 0
+#          -k +l    >= 0
+#    -2i   -k    +9 >= 0
+#           k       >= 0
+#     2i   +k    -1 >= 0
+#           k -l +1 >= 0
+#          -k    +1 >= 0
+#     2i+2j   +l-1  >= 0
+8 6 
+#  i  j  k  l  1
+1 -2 -2  0 -1  4
+1  0  0 -1  1  0
+1 -2  0 -1  0  9
+1  0  0  1  0  0
+1  2  0  1  0 -1
+1  0  0  1 -1  1
+1  0  0 -1  0  1
+1  2  2  0  1 -1
+0  0  0
+0
+
+1 
+
+# Scattering functions
+9 15
+# alpha=[2i, 2i+2j, 2i+k, 2i+2j+l] gamma=[0, 0, 0, 0] beta=[0, 0, 0, 0, 0, 0]
+# c1 c2 c3 c4 c5 c6 c7 c8 c9 i j k l 1
+0 -1  0  0  0  0  0  0  0  0 0 0 0 0 0
+0  0 -1  0  0  0  0  0  0  0 2 0 0 0 0
+0  0  0 -1  0  0  0  0  0  0 0 0 0 0 0
+0  0  0  0 -1  0  0  0  0  0 2 2 0 0 0
+0  0  0  0  0 -1  0  0  0  0 0 0 0 0 0
+0  0  0  0  0  0 -1  0  0  0 2 0 1 0 0
+0  0  0  0  0  0  0 -1  0  0 0 0 0 0 0
+0  0  0  0  0  0  0  0 -1  0 2 2 0 1 0
+0  0  0  0  0  0  0  0  0 -1 0 0 0 0 0
+0
diff --git a/test/reservoir/two.c.polylib b/test/reservoir/two.c.polylib
new file mode 100644 (file)
index 0000000..e8a57ef
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./reservoir/two.cloog by CLooG v0.14.0 gmp bits in 0.00s. */
+/* CLooG asked for 56 KBytes. */
+for (i=0;i<=1;i++) {
+  if ((i+1)%2 == 0) {
+    j = (-i+3)/2 ;
+    k = (i+9)/2 ;
+    S1 ;
+  }
+}
diff --git a/test/reservoir/two.c.ppl b/test/reservoir/two.c.ppl
new file mode 100644 (file)
index 0000000..418a9d5
--- /dev/null
@@ -0,0 +1,8 @@
+/* Generated from ././reservoir/two.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (i=0;i<=1;i++) {
+  if ((i+1)%2 == 0) {
+    j = (-i+3)/2 ;
+    k = (i+9)/2 ;
+    S1 ;
+  }
+}
diff --git a/test/reservoir/two.cloog b/test/reservoir/two.cloog
new file mode 100644 (file)
index 0000000..60b259f
--- /dev/null
@@ -0,0 +1,26 @@
+# Scan
+#  D = { (i, j, k) | 0 <= i < 10, 1 <= j < 20, 2i + 3j = k, i + j + 3 = 3k }
+#
+# language: C
+c
+
+# parameter (none)
+1 2
+1 1
+0
+
+1 # Number of statements
+
+1
+6 5
+#  i  j  k  1
+1  1  0  0  0
+1 -1  0  0 10
+1  0  1  0 -1
+1  0 -1  0 20
+0  2  3 -1  0
+0  1  1 -1  3
+0  0  0
+0 
+
+0 # Scattering functions
diff --git a/test/square+triangle-1-1-2-3.c.polylib b/test/square+triangle-1-1-2-3.c.polylib
new file mode 100644 (file)
index 0000000..bfaae6d
--- /dev/null
@@ -0,0 +1,21 @@
+/* Generated by CLooG v0.10.7 */
+for (j=1;j<=M;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+if (M >= 2) {
+  S1(i = M,j = 1) ;
+  for (j=2;j<=M;j++) {
+    S1(i = M) ;
+    S2(i = M) ;
+  }
+}
diff --git a/test/square+triangle-1-1-2-3.c.ppl b/test/square+triangle-1-1-2-3.c.ppl
new file mode 100644 (file)
index 0000000..2fac8d5
--- /dev/null
@@ -0,0 +1,21 @@
+/* Generated from ./square+triangle-1-1-2-3.cloog by CLooG 0.15 64 bits in 0.01s. */
+for (j=1;j<=M;j++) {
+  S1(i = 1) ;
+}
+for (i=2;i<=M-1;i++) {
+  S1(j = 1) ;
+  for (j=2;j<=i;j++) {
+    S1 ;
+    S2 ;
+  }
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+if (M >= 2) {
+  S1(i = M,j = 1) ;
+  for (j=2;j<=M;j++) {
+    S1(i = M) ;
+    S2(i = M) ;
+  }
+}
diff --git a/test/square+triangle-1-1-2-3.cloog b/test/square+triangle-1-1-2-3.cloog
new file mode 100644 (file)
index 0000000..ce8f547
--- /dev/null
@@ -0,0 +1,36 @@
+# language: C
+c
+
+# Context
+# {M | M >= 1}
+2 3
+#  M  1
+1  1 -1
+1  0  1
+0
+
+2 # Number of statements
+
+1
+# {i, j | 1<=i<=M; 1<=j<=M}
+5 5
+#  i  j  M  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -1
+1  0 -1  1  0
+1  0  0  0  1
+0  0  0
+
+1
+# {i, j | 2<=j<=i<=M}
+4 5
+#  i  j  M  1
+1  0  1  0 -2
+1  1 -1  0  0
+1 -1  0  1  0
+1  0  0  0  1
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/stage.cloog b/test/stage.cloog
new file mode 100755 (executable)
index 0000000..5011733
--- /dev/null
@@ -0,0 +1,36 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+1 3
+#  n  1
+0  1  -10
+1
+n
+
+2 # Number of statements:
+
+1
+# {i | 0<=i<=n}
+2 4
+#   i   n   1
+1   1   0   0
+1  -1   1   0
+0   0   0
+
+1
+# {ii, i | 0<=i<=n 0<=j<=n}
+3 5
+#   i   j   n   1
+0  -1   2   0   0
+1   0   1   0   0
+1   0  -1   1   0
+0   0   0
+0
+
+0 # Scattering functions
+
+1 6
+# c1   j   i   n   1
+0  1  -1  -1   0   0
+0
diff --git a/test/swim.c.polylib b/test/swim.c.polylib
new file mode 100644 (file)
index 0000000..c7b255d
--- /dev/null
@@ -0,0 +1,679 @@
+/* Generated from ./test/swim.cloog by CLooG v0.14.0 64 bits in 0.37s. */
+/* CLooG asked for 692 KBytes. */
+if (M == 1) {
+  S1 ;
+  S2 ;
+  S3 ;
+  S4 ;
+  S5 ;
+  S6 ;
+  S7 ;
+  S8 ;
+  S9 ;
+  S10 ;
+  S11 ;
+  S12 ;
+  S13 ;
+  S14 ;
+  S15 ;
+  S16 ;
+  S17 ;
+  S18 ;
+  S19 ;
+  S20 ;
+  S21 ;
+  S22 ;
+  S23 ;
+  S24 ;
+  S25 ;
+  S26 ;
+  S27 ;
+}
+if (M == 1) {
+  for (p1=1;p1<=N;p1++) {
+    for (p3=1;p3<=N;p3++) {
+      S28(i = p1,j = p3) ;
+      S29(i = p1,j = p3) ;
+      S30(i = p1,j = p3) ;
+    }
+    S31(i = p1) ;
+  }
+}
+if (M == 1) {
+  S32 ;
+  S33 ;
+  S34 ;
+}
+if ((M == 1) && (O <= 1)) {
+  S35 ;
+}
+if (M == 1) {
+  S36 ;
+  S37 ;
+}
+if ((M == 1) && (N >= 1) && (Q >= 1) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S40(i = p1,j = p3,k = p5) ;
+        S41(i = p1,j = p3,k = p5) ;
+        S42(i = p1,j = p3,k = p5) ;
+        S43(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S59(i = p1,j = p3,k = p5) ;
+        S60(i = p1,j = p3,k = p5) ;
+        S61(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S102(i = p1,j = p3,k = p5) ;
+        S103(i = p1,j = p3,k = p5) ;
+        S104(i = p1,j = p3,k = p5) ;
+        S105(i = p1,j = p3,k = p5) ;
+        S106(i = p1,j = p3,k = p5) ;
+        S107(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q >= 1) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S40(i = p1,j = p3,k = p5) ;
+        S41(i = p1,j = p3,k = p5) ;
+        S42(i = p1,j = p3,k = p5) ;
+        S43(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S59(i = p1,j = p3,k = p5) ;
+        S60(i = p1,j = p3,k = p5) ;
+        S61(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S102(i = p1,j = p3,k = p5) ;
+        S103(i = p1,j = p3,k = p5) ;
+        S104(i = p1,j = p3,k = p5) ;
+        S105(i = p1,j = p3,k = p5) ;
+        S106(i = p1,j = p3,k = p5) ;
+        S107(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q <= 0) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q <= 0) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q <= 0) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q <= 0) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q >= 1) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q >= 1) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
diff --git a/test/swim.c.ppl b/test/swim.c.ppl
new file mode 100644 (file)
index 0000000..7ed38fb
--- /dev/null
@@ -0,0 +1,678 @@
+/* Generated from ./swim.cloog by CLooG 0.15 64 bits in 0.97s. */
+if (M == 1) {
+  S1 ;
+  S2 ;
+  S3 ;
+  S4 ;
+  S5 ;
+  S6 ;
+  S7 ;
+  S8 ;
+  S9 ;
+  S10 ;
+  S11 ;
+  S12 ;
+  S13 ;
+  S14 ;
+  S15 ;
+  S16 ;
+  S17 ;
+  S18 ;
+  S19 ;
+  S20 ;
+  S21 ;
+  S22 ;
+  S23 ;
+  S24 ;
+  S25 ;
+  S26 ;
+  S27 ;
+}
+if (M == 1) {
+  for (p1=1;p1<=N;p1++) {
+    for (p3=1;p3<=N;p3++) {
+      S28(i = p1,j = p3) ;
+      S29(i = p1,j = p3) ;
+      S30(i = p1,j = p3) ;
+    }
+    S31(i = p1) ;
+  }
+}
+if (M == 1) {
+  S32 ;
+  S33 ;
+  S34 ;
+}
+if ((M == 1) && (O <= 1)) {
+  S35 ;
+}
+if (M == 1) {
+  S36 ;
+  S37 ;
+}
+if ((M == 1) && (N >= 1) && (Q >= 1) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S40(i = p1,j = p3,k = p5) ;
+        S41(i = p1,j = p3,k = p5) ;
+        S42(i = p1,j = p3,k = p5) ;
+        S43(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S59(i = p1,j = p3,k = p5) ;
+        S60(i = p1,j = p3,k = p5) ;
+        S61(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S102(i = p1,j = p3,k = p5) ;
+        S103(i = p1,j = p3,k = p5) ;
+        S104(i = p1,j = p3,k = p5) ;
+        S105(i = p1,j = p3,k = p5) ;
+        S106(i = p1,j = p3,k = p5) ;
+        S107(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q >= 1) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S40(i = p1,j = p3,k = p5) ;
+        S41(i = p1,j = p3,k = p5) ;
+        S42(i = p1,j = p3,k = p5) ;
+        S43(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S59(i = p1,j = p3,k = p5) ;
+        S60(i = p1,j = p3,k = p5) ;
+        S61(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      for (p5=1;p5<=R;p5++) {
+        S102(i = p1,j = p3,k = p5) ;
+        S103(i = p1,j = p3,k = p5) ;
+        S104(i = p1,j = p3,k = p5) ;
+        S105(i = p1,j = p3,k = p5) ;
+        S106(i = p1,j = p3,k = p5) ;
+        S107(i = p1,j = p3,k = p5) ;
+      }
+    }
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q <= 0) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q <= 0) && (R >= 1)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S48(i = p1,j = p3) ;
+      S49(i = p1,j = p3) ;
+      S50(i = p1,j = p3) ;
+      S51(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S65(i = p1,j = p3) ;
+      S66(i = p1,j = p3) ;
+      S67(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=R;p3++) {
+      S114(i = p1,j = p3) ;
+      S115(i = p1,j = p3) ;
+      S116(i = p1,j = p3) ;
+      S117(i = p1,j = p3) ;
+      S118(i = p1,j = p3) ;
+      S119(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q <= 0) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q <= 0) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N >= 1) && (Q >= 1) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    for (p3=1;p3<=N;p3++) {
+      for (p5=1;p5<=N;p5++) {
+        S95(i = p1,j = p3,k = p5) ;
+        S96(i = p1,j = p3,k = p5) ;
+        S97(i = p1,j = p3,k = p5) ;
+      }
+      S98(i = p1,j = p3) ;
+    }
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
+if ((M == 1) && (N <= 0) && (Q >= 1) && (R <= 0)) {
+  for (p1=2;p1<=P;p1++) {
+    S38(i = p1) ;
+    S39(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S44(i = p1,j = p3) ;
+      S45(i = p1,j = p3) ;
+      S46(i = p1,j = p3) ;
+      S47(i = p1,j = p3) ;
+    }
+    S52(i = p1) ;
+    S53(i = p1) ;
+    S54(i = p1) ;
+    S55(i = p1) ;
+    S56(i = p1) ;
+    S57(i = p1) ;
+    S58(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S62(i = p1,j = p3) ;
+      S63(i = p1,j = p3) ;
+      S64(i = p1,j = p3) ;
+    }
+    S68(i = p1) ;
+    S69(i = p1) ;
+    S70(i = p1) ;
+    S71(i = p1) ;
+    S72(i = p1) ;
+    S73(i = p1) ;
+    S74(i = p1) ;
+    S75(i = p1) ;
+    S76(i = p1) ;
+    S77(i = p1) ;
+    S78(i = p1) ;
+    S79(i = p1) ;
+    S80(i = p1) ;
+    S81(i = p1) ;
+    S82(i = p1) ;
+    S83(i = p1) ;
+    S84(i = p1) ;
+    S85(i = p1) ;
+    S86(i = p1) ;
+    S87(i = p1) ;
+    S88(i = p1) ;
+    S89(i = p1) ;
+    S90(i = p1) ;
+    S91(i = p1) ;
+    S92(i = p1) ;
+    S93(i = p1) ;
+    S94(i = p1) ;
+    S99(i = p1) ;
+    S100(i = p1) ;
+    S101(i = p1) ;
+    for (p3=1;p3<=Q;p3++) {
+      S108(i = p1,j = p3) ;
+      S109(i = p1,j = p3) ;
+      S110(i = p1,j = p3) ;
+      S111(i = p1,j = p3) ;
+      S112(i = p1,j = p3) ;
+      S113(i = p1,j = p3) ;
+    }
+    S120(i = p1) ;
+    S121(i = p1) ;
+    S122(i = p1) ;
+    S123(i = p1) ;
+    S124(i = p1) ;
+    S125(i = p1) ;
+  }
+}
diff --git a/test/swim.cloog b/test/swim.cloog
new file mode 100644 (file)
index 0000000..28e70eb
--- /dev/null
@@ -0,0 +1,2453 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (no constraints on parameters)
+1    8     # 1 lines, 8 columns
+0    0    0    0    0    0    0    0    
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+125 # Number of statements
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -1   
+1    -1   0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+4    8    
+1    0    0    -1   0    0    0    1    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+125 # Number of scattering functions
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    0     # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -6    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -7    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -8    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -9    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -10   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -11   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -12   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -13   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -14   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -15   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -16   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -17   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -18   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -19   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -20   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -21   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -22   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -23   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -24   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -25   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -26   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -28   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -29   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -30   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -31   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -32   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -33   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -3    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -7    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -8    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -9    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -10   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -11   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -19   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -20   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -21   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -22   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -23   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -24   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -31   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -32   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -33   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -35   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -36   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -37   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -38   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -39   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -40   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -41   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -43   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -44   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -45   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -3    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -4    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -5    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -49   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -52   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -53   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -54   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 
+
diff --git a/test/test.c.polylib b/test/test.c.polylib
new file mode 100644 (file)
index 0000000..446ce2e
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=2;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (i=3;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    S1 ;
+  }
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
+S1(i = M,j = M) ;
+S2(i = M,j = M) ;
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+  S2(j = i) ;
+}
diff --git a/test/test.c.ppl b/test/test.c.ppl
new file mode 100644 (file)
index 0000000..5334812
--- /dev/null
@@ -0,0 +1,27 @@
+/* Generated from ./test.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (i=1;i<=2;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (i=3;i<=M-1;i++) {
+  for (j=1;j<=i-1;j++) {
+    S1 ;
+  }
+  S1(j = i) ;
+  S2(j = i) ;
+  for (j=i+1;j<=M;j++) {
+    S1 ;
+  }
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
+S1(i = M,j = M) ;
+S2(i = M,j = M) ;
+for (i=M+1;i<=N;i++) {
+  for (j=1;j<=M;j++) {
+    S1 ;
+  }
+  S2(j = i) ;
+}
diff --git a/test/test.cloog b/test/test.cloog
new file mode 100644 (file)
index 0000000..78bd336
--- /dev/null
@@ -0,0 +1,33 @@
+# language: C
+c
+
+# parameters {m, n | 4<=m<=n}
+2 4
+#  m  n  1
+1 -1  1  0
+1  1  0 -4
+0
+
+2 # Number of statements
+
+1
+# {i, j | 1<=i<=n 1<=j<=m}
+4 6
+#  i  j  m  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1  0  1  0  0 -1
+1  0 -1  1  0  0
+0  0  0
+1
+# {i, j | i=j 3<=j<=N}
+3 6
+#  i  j  m  n  1
+0  1 -1  0  0  0
+1  0  1  0  0 -3
+1  0 -1  0  1  0
+0  0  0
+0
+
+0 # Scattering functions
diff --git a/test/tete.cloog b/test/tete.cloog
new file mode 100644 (file)
index 0000000..d496a8f
--- /dev/null
@@ -0,0 +1,30 @@
+c
+
+# 2 parameters
+1 4
+1 0 0 0 
+
+0
+
+# 1 statement
+1
+
+# 1 domain
+# i=n+2
+1
+2 5
+0 -1  0  1  2
+0  1  0 -1 -3
+0  0  0 
+
+0
+
+# 0 scattering function
+# c1=M+1
+# c2=N
+0
+
+0
+
+
+
diff --git a/test/thomasset.c.polylib b/test/thomasset.c.polylib
new file mode 100644 (file)
index 0000000..d5c98c7
--- /dev/null
@@ -0,0 +1,82 @@
+/* Generated from thomasset.cloog by CLooG v0.14.0 gmp bits in 0.11s. */
+/* CLooG asked for 440 KBytes. */
+for (c1=0;c1<=floord(n-5,3);c1++) {
+  for (i=max(3*c1+1,1);i<=3*c1+3;i++) {
+    S1(j = c1) ;
+  }
+}
+if (n == 1) {
+  S1(i = 1,j = 0) ;
+  for (k=0;k<=min(0,0);k++) {
+    for (p=max(0,ceild(-3*k-1,3));p<=min(floord(-3*k+1,3),0);p++) {
+      q = -k-p ;
+      S2(i = 1,j = 1) ;
+    }
+  }
+}
+if (n >= 2) {
+  for (c1=max(0,ceild(n-4,3));c1<=0;c1++) {
+    S1(i = 1,j = c1) ;
+    for (j=1;j<=min(n,3*c1-n+5);j++) {
+      for (k=0;k<=floord(3*c1-j-n+4,3);k++) {
+        for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) {
+          q = c1-k-p ;
+          S2(i = 1) ;
+        }
+      }
+    }
+    for (i=2;i<=min(n,3*c1+3);i++) {
+      S1(j = c1) ;
+    }
+    for (c2=1;c2<=n-1;c2++) {
+      i = c2+1 ;
+      for (j=1;j<=min(3*c1-n+5,n);j++) {
+        for (k=0;k<=floord(3*c1-j-n+4,3);k++) {
+          for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) {
+            q = c1-k-p ;
+            S2 ;
+          }
+        }
+      }
+    }
+  }
+}
+for (c1=max(1,ceild(n-4,3));c1<=floord(n-1,3);c1++) {
+  for (j=1;j<=3*c1-n+5;j++) {
+    for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) {
+      for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+        q = c1-k-p ;
+        S2(i = 1) ;
+      }
+    }
+  }
+  for (i=3*c1+1;i<=min(n,3*c1+3);i++) {
+    S1(j = c1) ;
+  }
+  for (c2=1;c2<=n-1;c2++) {
+    i = c2+1 ;
+    for (j=1;j<=3*c1-n+5;j++) {
+      for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) {
+        for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+          q = c1-k-p ;
+          S2 ;
+        }
+      }
+    }
+  }
+}
+if (n >= 1) {
+  for (c1=ceild(n,3);c1<=floord(2*n+1,3);c1++) {
+    for (c2=0;c2<=n-1;c2++) {
+      i = c2+1 ;
+      for (j=max(1,3*c1-n-1);j<=min(n,3*c1-n+5);j++) {
+        for (k=max(ceild(3*c1-j-n,3),0);k<=min(floord(3*c1-j-n+4,3),0);k++) {
+          for (p=max(ceild(n-2,3),ceild(3*c1-j-3*k,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+            q = c1-k-p ;
+            S2 ;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/test/thomasset.c.ppl b/test/thomasset.c.ppl
new file mode 100644 (file)
index 0000000..2fa1768
--- /dev/null
@@ -0,0 +1,81 @@
+/* Generated from ./thomasset.cloog by CLooG 0.15 64 bits in 0.11s. */
+for (c1=0;c1<=floord(n-5,3);c1++) {
+  for (i=max(3*c1+1,1);i<=3*c1+3;i++) {
+    S1(j = c1) ;
+  }
+}
+if (n == 1) {
+  S1(i = 1,j = 0) ;
+  for (k=0;k<=min(0,0);k++) {
+    for (p=max(ceild(-3*k-1,3),0);p<=min(floord(-3*k+1,3),0);p++) {
+      q = -k-p ;
+      S2(i = 1,j = 1) ;
+    }
+  }
+}
+if (n >= 2) {
+  for (c1=max(ceild(n-4,3),0);c1<=0;c1++) {
+    S1(i = 1,j = c1) ;
+    for (j=1;j<=min(3*c1-n+5,n);j++) {
+      for (k=0;k<=floord(3*c1-j-n+4,3);k++) {
+        for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) {
+          q = c1-k-p ;
+          S2(i = 1) ;
+        }
+      }
+    }
+    for (i=2;i<=min(3*c1+3,n);i++) {
+      S1(j = c1) ;
+    }
+    for (c2=1;c2<=n-1;c2++) {
+      i = c2+1 ;
+      for (j=1;j<=min(3*c1-n+5,n);j++) {
+        for (k=0;k<=floord(3*c1-j-n+4,3);k++) {
+          for (p=ceild(n-2,3);p<=floord(3*c1-j-3*k+2,3);p++) {
+            q = c1-k-p ;
+            S2 ;
+          }
+        }
+      }
+    }
+  }
+}
+for (c1=max(ceild(n-4,3),1);c1<=floord(n-1,3);c1++) {
+  for (j=1;j<=3*c1-n+5;j++) {
+    for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) {
+      for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+        q = c1-k-p ;
+        S2(i = 1) ;
+      }
+    }
+  }
+  for (i=3*c1+1;i<=min(3*c1+3,n);i++) {
+    S1(j = c1) ;
+  }
+  for (c2=1;c2<=n-1;c2++) {
+    i = c2+1 ;
+    for (j=1;j<=3*c1-n+5;j++) {
+      for (k=0;k<=min(floord(3*c1-j-n+4,3),0);k++) {
+        for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+          q = c1-k-p ;
+          S2 ;
+        }
+      }
+    }
+  }
+}
+if (n >= 1) {
+  for (c1=ceild(n,3);c1<=floord(2*n+1,3);c1++) {
+    for (c2=0;c2<=n-1;c2++) {
+      i = c2+1 ;
+      for (j=max(3*c1-n-1,1);j<=min(3*c1-n+5,n);j++) {
+        for (k=max(ceild(3*c1-j-n,3),0);k<=min(floord(3*c1-j-n+4,3),0);k++) {
+          for (p=max(ceild(3*c1-j-3*k,3),ceild(n-2,3));p<=min(floord(3*c1-j-3*k+2,3),floord(n,3));p++) {
+            q = c1-k-p ;
+            S2 ;
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/test/thomasset.cloog b/test/thomasset.cloog
new file mode 100644 (file)
index 0000000..24c30eb
--- /dev/null
@@ -0,0 +1,51 @@
+# language: C
+c
+1 3
+1 0 0  # 0 >= 0
+1
+n 
+
+# ------------- STATEMENTS -------------
+2      # Number of statements
+
+# ax:Z
+1      # The domain is made of one polyhedron
+4 5    # 4 lines and 5 columns
+#      i       j       n       
+1      -1      0       1       0       
+1      1       0       0       -1      
+1      1       -3      0       -1      
+1      -1      3       0       3       
+0 0 0  # future options
+
+# ax:P
+1      # The domain is made of one polyhedron
+10 8   # 10 lines and 8 columns
+#      i       j       k       p       q       n       
+1      -1      0       0       0       0       1       0       
+1      0       -1      0       0       0       1       0       
+1      0       1       0       0       0       0       -1      
+1      1       0       0       0       0       0       -1      
+1      0       1       0       0       -3      0       0       
+1      0       -1      0       0       3       0       2       
+1      0       0       0       -3      0       1       0       
+1      0       0       0       3       0       -1      2       
+1      0       0       -3      0       0       0       1       
+1      0       0       3       0       0       0       1       
+0 0 0  # future options
+1      # Iterator Names
+i j k p q
+
+# ------------- SCATTERING -------------
+2 # nb scattering functions
+# Scattering for ax:Z
+2 7    # 2 lines and 7 columns
+#      c1      c2      i       j       n       
+0      1       0       0       -1      0       0       
+0      0       1       0       0       0       0       
+# Scattering for ax:P
+2 10   # 2 lines and 10 columns
+#      c1      c2      i       j       k       p       q       n       
+0      1       0       0       0       -1      -1      -1      0       0
+0      0       1       -1      0       0       0       0       0       1       
+0      # Scattering Function Names
diff --git a/test/tiling.c.polylib b/test/tiling.c.polylib
new file mode 100644 (file)
index 0000000..b8d1563
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated by CLooG v0.10.7 */
+for (ii=0;ii<=floord(n,10);ii++) {
+  for (i=max(10*ii,0);i<=min(10*ii+9,n);i++) {
+    S1 ;
+  }
+}
diff --git a/test/tiling.c.ppl b/test/tiling.c.ppl
new file mode 100644 (file)
index 0000000..84c401b
--- /dev/null
@@ -0,0 +1,6 @@
+/* Generated from ./tiling.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (ii=0;ii<=floord(n,10);ii++) {
+  for (i=max(10*ii,0);i<=min(10*ii+9,n);i++) {
+    S1 ;
+  }
+}
diff --git a/test/tiling.cloog b/test/tiling.cloog
new file mode 100644 (file)
index 0000000..fa2b676
--- /dev/null
@@ -0,0 +1,30 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+1 3
+#  n  1
+1  1  0
+1
+n
+
+1 # Number of statements:
+
+1
+# {ii, i | t*ii<=i<=t*ii+t-1  0<=i<=n}
+4 5
+#  ii   i   n   1
+1   0   1   0   0
+1   0  -1   1   0
+1  10  -1   0   9
+1 -10   1   0   0
+0   0   0
+1
+ii i
+
+0 # Scattering functions
+
+1 6
+# c1  ii   i   n   1
+0  1  -1  -2   0   0
+0
diff --git a/test/tiling2.cloog b/test/tiling2.cloog
new file mode 100644 (file)
index 0000000..00c9cef
--- /dev/null
@@ -0,0 +1,32 @@
+# language: C
+c
+
+# parameter {n | n>= 0}
+1 3
+#  n  1
+1  1  0
+1
+n
+
+1 # Number of statements:
+
+1
+# {ii, i, j | t*ii<=i<=t*ii+t-1  0<=i<=n  0<=j<=n}
+6 6
+#  ii   i   j   n   1
+1   0   1   0   0   0
+1   0  -1   0   1   0
+1   0   0   1   0   0
+1   0   0  -1   1   0
+1   3  -2  -1   0   2
+1  -3   2   1   0   0
+0   0   0
+1
+ii i j
+
+0 # Scattering functions
+
+1 7
+# c1  ii   i   j   n   1
+0  1  -1  -2   0   0   0
+0
diff --git a/test/tiling3.cloog b/test/tiling3.cloog
new file mode 100644 (file)
index 0000000..c1c77e0
--- /dev/null
@@ -0,0 +1,41 @@
+# language: C
+f
+
+# parameter {n | n>= 0}
+1 3
+#  n  1
+1  1  0
+1
+n
+
+1 # Number of statements:
+
+1
+# {i, jj, j |  1<=i<=n t*jj<=j<=t*jj+t-1  1<=j<=n}
+6 6
+#  i  jj   j   n   1
+1  1   0   0   0  -1
+1 -1   0   0   1   0
+1  0   0   1   0  -1
+1  0   0  -1   1   0
+1  0  10  -1   0   9
+1  0 -10   1   0   0
+0  0   0
+1
+i jj j
+
+1 # Scattering functions
+
+
+2 8
+# c1  c2   i  jj   j   n   1
+0  1   0   0  -1   0   0   0
+0  0   1  -1   0  -1   0   0
+0
+
+
+1 7
+# c1   i  jj   j   n   1
+0  1   0  -1   0   0   0
+0
+
diff --git a/test/uday_scalars.c.polylib b/test/uday_scalars.c.polylib
new file mode 100644 (file)
index 0000000..9e6e3ae
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from uday_scalars.cloog by CLooG 0.14.0-52-gbcea70e gmp bits in 0.01s. */
+for (p3=0;p3<=n;p3++) {
+  S1(j = p3,l = 0,m = 0) ;
+}
+for (p3=0;p3<=n;p3++) {
+  S2(j = 0,l = p3,m = 0) ;
+}
diff --git a/test/uday_scalars.c.ppl b/test/uday_scalars.c.ppl
new file mode 100644 (file)
index 0000000..d297a27
--- /dev/null
@@ -0,0 +1,7 @@
+/* Generated from ./uday_scalars.cloog by CLooG 0.15 64 bits in 0.00s. */
+for (p3=0;p3<=n;p3++) {
+  S1(j = p3,l = 0,m = 0) ;
+}
+for (p3=0;p3<=n;p3++) {
+  S2(j = 0,l = p3,m = 0) ;
+}
diff --git a/test/uday_scalars.cloog b/test/uday_scalars.cloog
new file mode 100644 (file)
index 0000000..8da09d4
--- /dev/null
@@ -0,0 +1,58 @@
+# Langage: C
+c
+
+# Context (1 parameter)
+# no constraints on parameters:
+1 3
+   1    0    1
+1 # Parameter name(s)
+n
+
+# Statement number:
+2
+
+# Iteration domain of statement 1.
+1 # 1 domain
+4 6 # 4 lines and 6 columns
+#       j    l    m    n    cst
+   1    1    0    0    0    0    # j >= 0
+   1   -1    0    0    1    0    # j <= N
+   0    0    1    0    0    0    # l = 0
+   0    0    0    1    0    0    # m = 0
+0 0 0 # For future options.
+
+# Iteration domain of statement 2.
+1 # 1 domain
+4 6 # 4 lines and 6 columns
+#       j    l    m    n    cst
+   1    0    1    0    0    0    # l >= 0
+   1    0   -1    0    1    0    # l <= N
+   0    1    0    0    0    0    # j = 0
+   0    0    0    1    0    0    # m = 0
+0 0 0 # For future options.
+
+
+1 # Iterator name(s)
+j l m 
+
+# 1 scattering functions.
+2
+# First function
+4 10
+#       p1   p2   p3  p4   j    l    m    n    cst
+   0    1    0    0   0    0    0    0    0    0    # p1 = 0
+   0    0    1    0   0    0    0    0    0   -1    # p2 = 1
+   0    0    0    1   0   -1    0    0    0    0    # p3 = j
+   0    0    0    0   1    0    0    0    0    0    # p4 = 0
+
+# Second function
+4 10
+#       p1   p2   p3  p4   j    l    m    n    cst
+   0    1    0    0   0    0    0    0    0   -1    # p1 = 1
+   0    0    1    0   0    0    0    0    0    0    # p2 = 0
+   0    0    0    1   0    0   -1    0    0    0    # p3 = l
+   0    0    0    0   1    0    0    0    0   -1    # p4 = 1
+
+1 # set scattering dimension names manually
+p1 p2 p3 p4
+
diff --git a/test/urgent/matmul.B.main.scop1.cloog b/test/urgent/matmul.B.main.scop1.cloog
new file mode 100755 (executable)
index 0000000..320ffca
--- /dev/null
@@ -0,0 +1,217 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+2    4     # 1 lines, 4 columns
+1    -1   0    3    
+1    0    1    -100 
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+1    4    
+1    1    0    -79  
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    0    1    0    0    0    0    0    0    0    
+1    0    -1   0    0    0    0    0    1    -1   
+1    0    0    0    1    0    0    0    0    0    
+1    0    0    0    -1   0    0    0    1    -1   
+1    0    0    0    0    0    1    0    0    0    
+1    0    0    0    0    0    -1   0    1    -1   
+1    -32  1    0    0    0    0    0    0    0    
+1    32   -1   0    0    0    0    0    0    31   
+1    0    0    -32  1    0    0    0    0    0    
+1    0    0    32   -1   0    0    0    0    31   
+1    0    0    0    0    -32  1    0    0    0    
+1    0    0    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    0    1    0    0    0    0    0    0    0    
+1    0    -1   0    0    0    0    0    1    -1   
+1    0    0    0    1    0    0    0    0    0    
+1    0    0    0    -1   0    0    0    1    -1   
+1    0    0    0    0    0    1    0    0    0    
+1    0    0    0    0    0    -1   0    1    -1   
+1    -32  1    0    0    0    0    0    0    0    
+1    32   -1   0    0    0    0    0    0    31   
+1    0    0    -32  1    0    0    0    0    0    
+1    0    0    32   -1   0    0    0    0    31   
+1    0    0    0    0    -32  1    0    0    0    
+1    0    0    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 6
+
+13   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 6
+
+13   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0    0    0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    0    -1   0    0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0    0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    -1   0    0    0    0              0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0    0    -1   0    0              0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    0    -1             0    0    -1    # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0    0              0    0    0     # Beta 6
+
+13   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0    0    0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    0    -1   0    0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0    0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    -1   0    0    0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0    0    -1   0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    0    -1             0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0    0              0    0    -1    # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 
+
diff --git a/test/urgent/matmul.cloog b/test/urgent/matmul.cloog
new file mode 100644 (file)
index 0000000..320ffca
--- /dev/null
@@ -0,0 +1,217 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+2    4     # 1 lines, 4 columns
+1    -1   0    3    
+1    0    1    -100 
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+1    4    
+1    1    0    -79  
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    0    1    0    0    0    0    0    0    0    
+1    0    -1   0    0    0    0    0    1    -1   
+1    0    0    0    1    0    0    0    0    0    
+1    0    0    0    -1   0    0    0    1    -1   
+1    0    0    0    0    0    1    0    0    0    
+1    0    0    0    0    0    -1   0    1    -1   
+1    -32  1    0    0    0    0    0    0    0    
+1    32   -1   0    0    0    0    0    0    31   
+1    0    0    -32  1    0    0    0    0    0    
+1    0    0    32   -1   0    0    0    0    31   
+1    0    0    0    0    -32  1    0    0    0    
+1    0    0    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    0    1    0    0    0    0    0    0    0    
+1    0    -1   0    0    0    0    0    1    -1   
+1    0    0    0    1    0    0    0    0    0    
+1    0    0    0    -1   0    0    0    1    -1   
+1    0    0    0    0    0    1    0    0    0    
+1    0    0    0    0    0    -1   0    1    -1   
+1    -32  1    0    0    0    0    0    0    0    
+1    32   -1   0    0    0    0    0    0    31   
+1    0    0    -32  1    0    0    0    0    0    
+1    0    0    32   -1   0    0    0    0    31   
+1    0    0    0    0    -32  1    0    0    0    
+1    0    0    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+13   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 6
+
+13   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 6
+
+13   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0    0    0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    0    -1   0    0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0    0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    -1   0    0    0    0              0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0    0    -1   0    0              0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    0    -1             0    0    -1    # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0    0              0    0    0     # Beta 6
+
+13   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0         -1   0    0    0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0         0    0    -1   0    0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0         0    0    0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0         0    -1   0    0    0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0    0              0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0         0    0    0    -1   0    0              0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0    0              0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    0    -1             0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0    0              0    0    -1    # Beta 6
+
+13   17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   p11   p12   
+0    1    0    0    0    0    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 5
+0    0    0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 6
+0    0    0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 6
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 
+
diff --git a/test/urgent/matmul1.cloog b/test/urgent/matmul1.cloog
new file mode 100644 (file)
index 0000000..eb93db8
--- /dev/null
@@ -0,0 +1,246 @@
+#####  Options:
+#####  cloog -f 8 -l 9 matmul.B.main.scop1.cloog
+#####  
+#####  Code correct:
+#####  S1;
+#####  S2;
+#####  for (p0=0;p0<=N-1;p0++) {
+#####   for (p1=0;p1<=N-1;p1++) {
+#####     S4(i = p0,j = p1);
+#####     S5(i = p0,j = p1);
+#####   }
+#####  }
+#####  for (p0=0;p0<=N-1;p0++) {
+#####   for (p1=0;p1<=N-1;p1++) {
+#####     for (p2=0;p2<=floord(N-1,32);p2++) {
+#####       S7(i = p0,j = p1,k = p2,l = 32*p2);
+#####       for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
+#####         S6(i = p0,j = p1,k = p2,l = p3-1);
+#####         S7(i = p0,j = p1,k = p2,l = p3);
+#####       }
+#####       if (p2 >= ceild(N-32,32)) {
+#####         S6(i = p0,j = p1,k = p2,l = N-1);
+#####       }
+#####       if (p2 <= floord(N-33,32)) {
+#####         S6(i = p0,j = p1,k = p2,l = 32*p2+31);
+#####       }
+#####     }
+#####   }
+#####  }
+#####  S8;
+#####  
+#####  
+#####  Code incorrect:
+#####  S1 ;
+#####  S2 ;
+#####  for (p1=0;p1<=N-1;p1++) {
+#####   for (p3=0;p3<=N-1;p3++) {
+#####     S4(i = p1,j = p3) ;
+#####     S5(i = p1,j = p3) ;
+#####   }
+#####  }
+#####  for (p1=0;p1<=N-1;p1++) {
+#####   for (p3=0;p3<=N-1;p3++) {
+#####     for (p5=0;p5<=floord(N-1,32);p5++) {
+#####       if (p5 <= 0) {
+#####         S7(i = p1,j = p3,k = p5,l = 0) ;
+#####       }
+#####       p7 = 32*p5 ;
+#####       l = 32*p5 ;
+#####       S7(i = p1,j = p3,k = p5) ;
+#####       for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
+#####         l = p7-1 ;
+#####         S6(i = p1,j = p3,k = p5) ;
+#####         S7(i = p1,j = p3,k = p5,l = p7) ;
+#####       }
+#####       if (p5 >= ceild(N-32,32)) {
+#####         l = N-1 ;
+#####         S6(i = p1,j = p3,k = p5) ;
+#####       }
+#####       p7 = 32*p5+32 ;
+#####       l = 32*p5+31 ;
+#####       S6(i = p1,j = p3,k = p5) ;
+#####     }
+#####   }
+#####  }
+#####    S8 ;
+
+
+
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+2    4     # 1 lines, 4 columns
+1    -1   0    3    
+1    0    1    -100 
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+1    4    
+1    1    0    -79  
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    -1    # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 
+
diff --git a/test/urgent/scop7.cloog b/test/urgent/scop7.cloog
new file mode 100644 (file)
index 0000000..4b2be78
--- /dev/null
@@ -0,0 +1,3322 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+1   7     # 1 lines, 7 columns
+1    0    0    0    0    0    1
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+137 # Number of statements
+
+1 # Statement has 1 domain
+1    7    
+1    -1   0    0    0    0    1    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    1    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    0    1    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    1    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    0    1    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    1    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    0    1    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+1    0    -4   1    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    1    0    -2   
+1    0    -1   1    0    0    0    0    0    3    
+1    0    1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    1    0    -2   
+1    0    -1   1    0    0    0    0    0    3    
+1    0    1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    1    0    -2   
+1    0    -1   1    0    0    0    0    0    3    
+1    0    1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    1    0    -2   
+1    0    -1   1    0    0    0    0    0    3    
+1    0    1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    -1   0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    -1   0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    -1   0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    1    0    -1   
+1    0    -1   1    0    0    0    0    0    1    
+1    0    1    -1   0    0    0    0    0    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    1    0    -1   
+1    0    -1   1    0    0    0    0    0    1    
+1    0    1    -1   0    0    0    0    0    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+12   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    1    0    -1   
+1    0    -1   1    0    0    0    0    0    1    
+1    0    1    -1   0    0    0    0    0    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    1    0    -1   0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    1    0    -1   0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    1    0    -1   0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    1    
+1    0    0    -1   0    1    0    0    0    0    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    1    
+1    0    0    -1   0    1    0    0    0    0    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    1    
+1    0    0    -1   0    1    0    0    0    0    0    0    
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    1    0    -1   0    0    0    0    0    -4   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    1    0    -1   0    0    0    0    0    -4   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    1    0    -1   0    0    0    0    0    -4   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    1    0    -1   0    0    0    0    0    -4   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    -1   0    1    0    0    0    0    0    3    
+1    0    0    -1   0    1    0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    -1   0    1    0    0    0    0    0    3    
+1    0    0    -1   0    1    0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    -1   0    1    0    0    0    0    0    3    
+1    0    0    -1   0    1    0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    0    -1   0    1    0    0    0    0    0    3    
+1    0    0    -1   0    1    0    0    0    0    0    -2   
+1    0    -4   1    0    0    0    0    0    0    0    0    
+1    0    4    -1   0    0    0    0    0    0    0    3    
+1    0    0    0    -4   1    0    0    0    0    0    0    
+1    0    0    0    4    -1   0    0    0    0    0    3    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+137 # Number of scattering functions
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -7    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -8    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -9    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -10   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -11   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -19   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -20   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -21   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -22   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -23   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -24   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -31   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -32   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -33   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -34   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -35   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -36   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -37   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -38   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -39   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -40   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -41   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -43   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -44   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -45   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -14   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -15   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -16   # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -49   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    -1    # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -17   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -18   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -19   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    -1    # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -20   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -21   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -22   # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -52   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -53   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -54   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -55   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -56   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -57   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -6    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -7    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    -1    # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -13   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    -1    # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
+
diff --git a/test/urgent/swim.cloog b/test/urgent/swim.cloog
new file mode 100644 (file)
index 0000000..28e70eb
--- /dev/null
@@ -0,0 +1,2453 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (no constraints on parameters)
+1    8     # 1 lines, 8 columns
+0    0    0    0    0    0    0    0    
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+125 # Number of statements
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -1   
+1    -1   0    0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -1   
+1    -1   0    1    0    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+4    8    
+1    0    0    -1   0    0    0    1    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+3    8    
+1    1    0    0    0    0    0    -1   
+1    -1   0    0    0    0    0    1    
+1    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    1    0    0    0    0    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    1    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    11   
+1    1    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    0    
+1    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    -1   0    0    0    0    0    1    
+1    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+5    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    
+1    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+125 # Number of scattering functions
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    0     # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -6    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -7    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -8    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -9    # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -10   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -11   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -12   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -13   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -14   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -15   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -16   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -17   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -18   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -19   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -20   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -21   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -22   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -23   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -24   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -25   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -26   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -27   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -28   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -29   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -30   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -31   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -32   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    15   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0                   0    0    0    0    0    0    -33   # Beta 0
+0    0    1    0    0    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0                   0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0                   0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0                   0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0                   0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1                   0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -3    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -7    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -8    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -9    # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -10   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -11   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -19   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -20   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -21   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -22   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -23   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -24   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -31   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -32   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -33   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -35   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -36   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -37   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -38   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -39   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -40   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -41   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -43   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -44   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -45   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -1    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -2    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -3    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -4    # Beta 3
+
+7    18   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0    0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0         0    -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0    -5    # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    17   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1   0              0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0         0    -1             0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -49   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -52   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -53   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+7    16   
+#    p0   p1   p2   p3   p4   p5   p6   
+0    1    0    0    0    0    0    0         0              0    0    0    0    0    0    -34   # Beta 0
+0    0    1    0    0    0    0    0         -1             0    0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0         0              0    0    0    0    0    0    -54   # Beta 1
+0    0    0    0    1    0    0    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0         0              0    0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0         0              0    0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1         0              0    0    0    0    0    0    0     # Beta 3
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 
+
diff --git a/test/urgent/swim7.cloog b/test/urgent/swim7.cloog
new file mode 100644 (file)
index 0000000..1ca00c9
--- /dev/null
@@ -0,0 +1,5369 @@
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+11   7     # 1 lines, 7 columns
+1    1    0    0    0    0    -9   
+1    0    1    0    0    0    -9   
+1    0    0    1    0    0    -500 
+1    0    0    0    1    0    -500 
+1    0    0    0    1    -1   0    
+1    0    0    1    0    -1   0    
+1    0    0    0    0    1    -500 
+1    -1   1    0    0    0    0    
+1    1    -1   0    0    0    0    
+1    0    0    1    -1   0    0    
+1    0    0    -1   1    0    0    
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+199 # Number of statements
+
+1 # Statement has 1 domain
+1    7    
+1    -1   0    0    0    0    1    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    1    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    1    0    0    0    -1   0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+6    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    0    1    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    0    1    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+8    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    1    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+4    9    
+1    1    0    0    0    0    0    0    -2   
+1    -1   0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+2    8    
+1    1    0    0    0    0    0    -2   
+1    -1   0    1    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    7    
+1    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -4   
+1    0    -1   0    0    0    1    0    0    -3   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    0    -1   0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    1    0    0    0    0    0    -3   
+1    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -3   
+1    0    -1   0    0    0    1    0    0    -2   
+1    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    1    0    0    0    0    -1   0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+7    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    -1   0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+10   10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    1    0    0    0    0    0    -4   
+1    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+9    10   
+1    1    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    1    0    0    0    0    
+1    0    1    0    0    0    0    0    0    -1   
+1    0    -1   0    0    0    1    0    0    0    
+1    0    0    1    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    1    0    0    
+1    0    1    0    0    0    0    0    0    -2   
+1    0    -1   0    0    0    1    0    0    -1   
+1    0    0    -1   0    0    0    0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+16   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    -1   0    0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    -1   0    0    0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    -1   0    0    0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+15   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    1    0    0    0    -1   0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    1    0    0    0    -1   0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    1    0    0    0    -1   0    3    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    -1   0    0    0    0    0    2    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    -1   0    0    0    0    0    1    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+17   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    -1   0    0    0    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -4   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    0    
+1    0    2    -1   0    0    0    0    0    0    0    1    
+1    0    0    0    -2   1    0    0    0    0    0    0    
+1    0    0    0    2    -1   0    0    0    0    0    1    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -3   
+1    0    0    -1   0    0    0    0    1    0    0    -2   
+1    0    0    0    0    1    0    0    0    0    0    -3   
+1    0    0    0    0    -1   0    0    0    1    0    -2   
+1    0    -2   1    0    0    0    0    0    0    0    1    
+1    0    2    -1   0    0    0    0    0    0    0    0    
+1    0    0    0    -2   1    0    0    0    0    0    1    
+1    0    0    0    2    -1   0    0    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -3   
+1    0    0    0    0    1    0    0    0    0    0    -2   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+1 # Statement has 1 domain
+18   12   
+1    1    0    0    0    0    0    0    0    0    0    -2   
+1    -1   0    0    0    0    0    1    0    0    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    0    
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    0    
+1    0    0    1    0    0    0    0    0    0    0    -2   
+1    0    0    -1   0    0    0    0    1    0    0    -1   
+1    0    0    0    0    1    0    0    0    0    0    -4   
+1    0    0    0    0    -1   0    0    0    1    0    -3   
+1    0    -2   1    0    0    0    0    0    0    0    2    
+1    0    2    -1   0    0    0    0    0    0    0    -1   
+1    0    0    0    -2   1    0    0    0    0    0    2    
+1    0    0    0    2    -1   0    0    0    0    0    -1   
+1    0    0    1    0    0    0    0    0    0    0    -1   
+1    0    0    -1   0    0    0    0    1    0    0    -4   
+1    0    0    0    0    1    0    0    0    0    0    -1   
+1    0    0    0    0    -1   0    0    0    1    0    -4   
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+199 # Number of scattering functions
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -11   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -12   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -15   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -16   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -17   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -18   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -19   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -20   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -21   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -22   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -23   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -24   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -28   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -29   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -30   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -31   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -32   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -33   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -34   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -35   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -36   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -37   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -38   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -39   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -40   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -41   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -42   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -43   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -44   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -45   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -46   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -47   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -48   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -49   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -50   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -51   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -52   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -53   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -54   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -55   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -56   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -57   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -58   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -59   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -60   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -60   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   20   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0              0    0    0    0    0    -4    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1             0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0              0    0    0    0    0    -5    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -5    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -6    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -7    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -8    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -9    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   19   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1             0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0              0    0    0    0    0    -10   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0              0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -6    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   18   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    -7    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0                   0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0                   0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0                   0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0                   0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0                   0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1                   0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -4    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -5    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -13   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -14   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -25   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   21   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0              0    0    0    0    0    -27   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0              0    0    0    0    0    -2    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0              0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -2    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    0     # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    0     # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -1    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -2    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -3    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -4    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    -1    # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    0     # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -5    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -6    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -7    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -8    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -1    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -9    # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -10   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -11   # Beta 5
+
+11   23   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   p9   p10   
+0    1    0    0    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0    0    0         -1   0    0    0    0              0    0    0    0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -26   # Beta 1
+0    0    0    0    1    0    0    0    0    0    0    0         0    -1   0    0    0              0    0    0    0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0    0    0         0    0    0    -1   0              0    0    0    0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 3
+0    0    0    0    0    0    0    0    1    0    0    0         0    0    -1   0    0              0    0    0    0    0    -2    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1    0    0         0    0    0    0    0              0    0    0    0    0    -1    # Beta 4
+0    0    0    0    0    0    0    0    0    0    1    0         0    0    0    0    -1             0    0    0    0    0    -2    # Alpha & Gamma 5
+0    0    0    0    0    0    0    0    0    0    0    1         0    0    0    0    0              0    0    0    0    0    -12   # Beta 5
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 
+
diff --git a/test/vasilache.c.polylib b/test/vasilache.c.polylib
new file mode 100644 (file)
index 0000000..344f0c5
--- /dev/null
@@ -0,0 +1,39 @@
+/* Generated from ./test/vasilache.cloog by CLooG v0.14.0 64 bits in 0.08s. */
+/* CLooG asked for 168 KBytes. */
+S1 ;
+S2 ;
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    S4(i = p1,j = p3) ;
+    S5(i = p1,j = p3) ;
+  }
+}
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    for (p5=0;p5<=floord(N-1,32);p5++) {
+      if (p5 >= 0) {
+        p7 = 32*p5 ;
+        l = 32*p5 ;
+        S7(i = p1,j = p3,k = p5) ;
+      }
+      if (p5 <= -1) {
+        S7(i = p1,j = p3,k = p5,l = 0) ;
+      }
+      for (p7=max(32*p5+1,1);p7<=min(N-1,32*p5+31);p7++) {
+        l = p7-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+        S7(i = p1,j = p3,k = p5,l = p7) ;
+      }
+      if (p5 >= ceild(N-32,32)) {
+        l = N-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+      }
+      if (p5 <= floord(N-33,32)) {
+        p7 = 32*p5+32 ;
+        l = 32*p5+31 ;
+        S6(i = p1,j = p3,k = p5) ;
+      }
+    }
+  }
+}
+S8 ;
diff --git a/test/vasilache.c.ppl b/test/vasilache.c.ppl
new file mode 100644 (file)
index 0000000..2f653a8
--- /dev/null
@@ -0,0 +1,38 @@
+/* Generated from ./vasilache.cloog by CLooG 0.15 64 bits in 0.16s. */
+S1 ;
+S2 ;
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    S4(i = p1,j = p3) ;
+    S5(i = p1,j = p3) ;
+  }
+}
+for (p1=0;p1<=N-1;p1++) {
+  for (p3=0;p3<=N-1;p3++) {
+    for (p5=0;p5<=floord(N-1,32);p5++) {
+      if (p5 >= 0) {
+        p7 = 32*p5 ;
+        l = 32*p5 ;
+        S7(i = p1,j = p3,k = p5) ;
+      }
+      if (p5 <= -1) {
+        S7(i = p1,j = p3,k = p5,l = 0) ;
+      }
+      for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
+        l = p7-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+        S7(i = p1,j = p3,k = p5,l = p7) ;
+      }
+      if (p5 <= floord(N-32,32)) {
+        p7 = 32*p5+32 ;
+        l = 32*p5+31 ;
+        S6(i = p1,j = p3,k = p5) ;
+      }
+      if (p5 >= ceild(N-31,32)) {
+        l = N-1 ;
+        S6(i = p1,j = p3,k = p5) ;
+      }
+    }
+  }
+}
+S8 ;
diff --git a/test/vasilache.cloog b/test/vasilache.cloog
new file mode 100644 (file)
index 0000000..2eeb460
--- /dev/null
@@ -0,0 +1,248 @@
+#  A SCoP from matmul (matmul.B.main.scop1.cloog) to check normalization
+#
+#  Options:
+#  cloog -f 8 -l 9 vasilache.cloog
+#  
+#  Correct:
+#  S1;
+#  S2;
+#  for (p0=0;p0<=N-1;p0++) {
+#   for (p1=0;p1<=N-1;p1++) {
+#     S4(i = p0,j = p1);
+#     S5(i = p0,j = p1);
+#   }
+#  }
+#  for (p0=0;p0<=N-1;p0++) {
+#   for (p1=0;p1<=N-1;p1++) {
+#     for (p2=0;p2<=floord(N-1,32);p2++) {
+#       S7(i = p0,j = p1,k = p2,l = 32*p2);
+#       for (p3=32*p2+1;p3<=min(N-1,32*p2+31);p3++) {
+#         S6(i = p0,j = p1,k = p2,l = p3-1);
+#         S7(i = p0,j = p1,k = p2,l = p3);
+#       }
+#       if (p2 >= ceild(N-32,32)) {
+#         S6(i = p0,j = p1,k = p2,l = N-1);
+#       }
+#       if (p2 <= floord(N-33,32)) {
+#         S6(i = p0,j = p1,k = p2,l = 32*p2+31);
+#       }
+#     }
+#   }
+#  }
+#  S8;
+#  
+#  
+#  NOT correct:
+#  S1 ;
+#  S2 ;
+#  for (p1=0;p1<=N-1;p1++) {
+#   for (p3=0;p3<=N-1;p3++) {
+#     S4(i = p1,j = p3) ;
+#     S5(i = p1,j = p3) ;
+#   }
+#  }
+#  for (p1=0;p1<=N-1;p1++) {
+#   for (p3=0;p3<=N-1;p3++) {
+#     for (p5=0;p5<=floord(N-1,32);p5++) {
+#       if (p5 <= 0) {
+#         S7(i = p1,j = p3,k = p5,l = 0) ;
+#       }
+#       p7 = 32*p5 ;
+#       l = 32*p5 ;
+#       S7(i = p1,j = p3,k = p5) ;
+#       for (p7=max(32*p5+1,1);p7<=min(32*p5+31,N-1);p7++) {
+#         l = p7-1 ;
+#         S6(i = p1,j = p3,k = p5) ;
+#         S7(i = p1,j = p3,k = p5,l = p7) ;
+#       }
+#       if (p5 >= ceild(N-32,32)) {
+#         l = N-1 ;
+#         S6(i = p1,j = p3,k = p5) ;
+#       }
+#       p7 = 32*p5+32 ;
+#       l = 32*p5+31 ;
+#       S6(i = p1,j = p3,k = p5) ;
+#     }
+#   }
+#  }
+#    S8 ;
+
+
+
+c # language is C
+# ---------- CONTEXT ----------
+1 # Context (constraints on parameters)
+2    4     # 1 lines, 4 columns
+1    -1   0    3    
+1    0    1    -100 
+
+
+0 # Automatically find parameter names
+
+# ---------- STATEMENTS ----------
+8 # Number of statements
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+1 # Statement has 1 domain
+1    4    
+1    1    0    -79  
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+4    6    
+1    1    0    0    0    0    
+1    -1   0    0    1    -1   
+1    0    1    0    0    0    
+1    0    -1   0    1    -1   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has 1 domain
+8    8    
+1    1    0    0    0    0    0    0    
+1    -1   0    0    0    0    1    -1   
+1    0    1    0    0    0    0    0    
+1    0    -1   0    0    0    1    -1   
+1    0    0    0    1    0    0    0    
+1    0    0    0    -1   0    1    -1   
+1    0    0    -32  1    0    0    0    
+1    0    0    32   -1   0    0    31   
+0    0    0    
+
+1 # Statement has a non resticted domain
+1    4    
+1    0    0    0    
+0    0    0    
+
+0 # Automatically find iterator names.
+
+# ---------- SCATTERING FUNCTIONS ----------
+8 # Number of scattering functions
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    0     # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -1    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -2    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    15   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0              0    0    -3    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1             0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0              0    0    -1    # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0              0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    -1    # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    0     # Beta 4
+
+9    17   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0         0    0    0    0              0    0    -4    # Beta 0
+0    0    1    0    0    0    0    0    0    0         -1   0    0    0              0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0         0    0    0    0              0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0         0    -1   0    0              0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0         0    0    0    0              0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0         0    0    -1   0              0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0         0    0    0    0              0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0         0    0    0    -1             0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1         0    0    0    0              0    0    -1    # Beta 4
+
+9    13   
+#    p0   p1   p2   p3   p4   p5   p6   p7   p8   
+0    1    0    0    0    0    0    0    0    0                   0    0    -5    # Beta 0
+0    0    1    0    0    0    0    0    0    0                   0    0    0     # Alpha & Gamma 1
+0    0    0    1    0    0    0    0    0    0                   0    0    0     # Beta 1
+0    0    0    0    1    0    0    0    0    0                   0    0    0     # Alpha & Gamma 2
+0    0    0    0    0    1    0    0    0    0                   0    0    0     # Beta 2
+0    0    0    0    0    0    1    0    0    0                   0    0    0     # Alpha & Gamma 3
+0    0    0    0    0    0    0    1    0    0                   0    0    0     # Beta 3
+0    0    0    0    0    0    0    0    1    0                   0    0    0     # Alpha & Gamma 4
+0    0    0    0    0    0    0    0    0    1                   0    0    0     # Beta 4
+
+1 # Set the scattering parameter names.
+p0 p1 p2 p3 p4 p5 p6 p7 p8 
+
diff --git a/test/vivien.c.polylib b/test/vivien.c.polylib
new file mode 100644 (file)
index 0000000..28af551
--- /dev/null
@@ -0,0 +1,893 @@
+/* Generated from vivien.cloog by CLooG v0.14.0 gmp bits in 0.62s. */
+/* CLooG asked for 1368 KBytes. */
+for (p1=-54*n+4;p1<=min(4,4*n+1);p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if (n >= 1) {
+  S3(i = 1) ;
+}
+if (n >= 2) {
+  S4(i = 1,j = 2) ;
+  S1(i = 2) ;
+  S6(i = 1,j = 2) ;
+}
+for (p1=max(-54*n+4,4*n+2);p1<=6;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=7;p1<=min(2*n+2,9);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=2*n+3;p1<=min(4*n-2,9);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=10;p1<=min(12,2*n+2);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  for (i=max(3,ceild(p1+1,4));i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+if ((n >= 5) && (n <= 5)) {
+  S3(i = 3) ;
+  for (i=4;i<=n;i++) {
+    j = -i+6 ;
+    S2 ;
+  }
+}
+if (n >= 6) {
+  S3(i = 3) ;
+  for (i=4;i<=5;i++) {
+    j = -i+6 ;
+    S2 ;
+  }
+}
+for (p1=max(max(4*n-5,10),2*n+3);p1<=min(12,2*n+4);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=-1;p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  for (i=max(3,ceild(p1+1,4));i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=14;p1<=2*n+2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+if ((n >= 4) && (n <= 4)) {
+  S3(i = 3) ;
+  for (i=4;i<=n;i++) {
+    j = -i+6 ;
+    S2 ;
+  }
+}
+for (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-7,14);p1<=2*n+4;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(max(4*n-5,14),2*n+5);p1<=min(4*n-2,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if ((n <= 29) && (n >= 3)) {
+  p1 = 4*n-1 ;
+  j = n-1 ;
+  S2(i = n) ;
+}
+if (n == 2) {
+  S2(i = 2,j = 1) ;
+}
+for (p1=2*n+59;p1<=4*n-10;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if (n >= 30) {
+  p1 = 4*n-1 ;
+  j = n-1 ;
+  S2(i = n) ;
+}
+for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+}
diff --git a/test/vivien.c.ppl b/test/vivien.c.ppl
new file mode 100644 (file)
index 0000000..e002295
--- /dev/null
@@ -0,0 +1,943 @@
+/* Generated from ./vivien.cloog by CLooG 0.15 64 bits in 0.81s. */
+for (p1=-54*n+4;p1<=4;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if (n >= 1) {
+  S3(i = 1) ;
+}
+for (p1=max(max(-54*n+4,4*n+2),5);p1<=6;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if (n >= 2) {
+  S4(i = 1,j = 2) ;
+  S1(i = 2) ;
+  S6(i = 1,j = 2) ;
+}
+for (p1=7;p1<=min(2*n+2,9);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=2*n+3;p1<=min(4*n-2,9);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if (n >= 5) {
+  S4(i = 2,j = 3) ;
+  S4(i = 1,j = 4) ;
+  S5(i = 2,j = 3,k = 1) ;
+  S6(i = 2,j = 3) ;
+  S1(i = 4) ;
+  S6(i = 1,j = 4) ;
+}
+if (n >= 6) {
+  for (i=3;i<=4;i++) {
+    j = -i+5 ;
+    S2 ;
+  }
+}
+if ((n <= 4) && (n >= 4)) {
+  p1 = 2*n+2 ;
+  for (p2=ceild(-n,2);p2<=floord(-2*n+3,4);p2++) {
+    j = p2+n+1 ;
+    S4(i = -p2) ;
+  }
+  for (p2=ceild(-n+2,2);p2<=-1;p2++) {
+    j = p2+n+1 ;
+    S4(i = -p2) ;
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      j = p2+n ;
+      S5(k = p3) ;
+    }
+  }
+  j = n-1 ;
+  S6(i = 2) ;
+  for (i=3;i<=floord(2*n-1,2);i++) {
+    if (1%2 == 0) {
+      j = (-2*i+2*n+1)/2 ;
+      S2 ;
+    }
+  }
+  S1(i = n) ;
+  for (p2=-n+5;p2<=1;p2++) {
+    i = -p2+2 ;
+    j = p2+n-1 ;
+    S6 ;
+  }
+}
+for (p1=max(max(4*n-5,2*n+3),10);p1<=min(2*n+4,12);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=-1;p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  for (i=max(ceild(p1+1,4),3);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+5;p1<=min(4*n-2,13);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if ((n >= 5) && (n <= 5)) {
+  for (i=3;i<=4;i++) {
+    j = -i+5 ;
+    S2 ;
+  }
+}
+if (n >= 5) {
+  S4(i = 2,j = 4) ;
+  S4(i = 1,j = 5) ;
+  S5(i = 2,j = 4,k = 1) ;
+  S6(i = 2,j = 4) ;
+  S1(i = 5) ;
+  S6(i = 1,j = 5) ;
+}
+if ((n >= 5) && (n <= 5)) {
+  S3(i = 3) ;
+  for (i=4;i<=n;i++) {
+    j = -i+6 ;
+    S2 ;
+  }
+}
+if (n >= 6) {
+  S3(i = 3) ;
+  for (i=4;i<=5;i++) {
+    j = -i+6 ;
+    S2 ;
+  }
+}
+for (p1=14;p1<=2*n+2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=2*n+3;p1<=min(4*n-10,2*n+4);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-9,2*n+3);p1<=min(4*n-8,2*n+4);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-7,14);p1<=2*n+4;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-9,2*n+5);p1<=min(4*n-8,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(4*n-7,2*n+5);p1<=min(4*n-6,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(max(4*n-5,2*n+5),14);p1<=min(4*n-2,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+if ((n >= 3) && (n <= 29)) {
+  p1 = 4*n-1 ;
+  j = n-1 ;
+  S2(i = n) ;
+  if (1%2 == 0) {
+    i = (4*n-3)/2 ;
+    S1 ;
+  }
+}
+if (n == 2) {
+  S2(i = 2,j = 1) ;
+}
+for (p1=max(4*n,7);p1<=min(4*n+1,2*n+58);p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=max(max(-54*n+4,4*n+2),7);p1<=2*n+58;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+59;p1<=4*n-10;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+if (n >= 30) {
+  p1 = 4*n-1 ;
+  if (1%2 == 0) {
+    i = (2*n-1)/2 ;
+    S3 ;
+  }
+  j = n-1 ;
+  S2(i = n) ;
+}
+for (p1=max(4*n,2*n+59);p1<=4*n+1;p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+}
diff --git a/test/vivien.cloog b/test/vivien.cloog
new file mode 100644 (file)
index 0000000..0692df1
--- /dev/null
@@ -0,0 +1,156 @@
+#    Context
+c # output in language C
+
+1 # no constraints on parameters
+1 3 # 1 line and 3 columns
+
+# n 1
+1 0 0  # 0 >= 0 always true
+
+1      # Setting manually the parameter' sname
+n      # The name
+
+
+
+# --------------------  Statements  ------------------
+6 # Number of statements
+
+
+1 # First statement: 1 domain 
+
+# First domain
+
+2 4                    # 2 lines and 4 columns
+#   i   n    1
+1   1   27   -1                # i >= 1
+1  -1   1    28                # n >= i
+0 0 0
+
+1 # Second statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   k   n    1
+1   1   29   0   -1            # i >= 1
+1  -1   0   1    0             # n >= i
+1   0   1   0   -1             # k >= 1
+1   1  -1   0   -1             # k <= i-1
+0 0 0
+
+
+1 # Third statement: 1 domain 
+
+# First domain
+
+2 4                    # 2 lines and 4 columns
+#   i   n    1
+1   1   0   -1         # i >= 1
+1  -1   1    0         # n >= i
+0 0 0
+
+
+1 # Fourth statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   j   n    1
+1   1   0   0   -1             # i >= 1
+1  -1   0   1    0             # n >= i
+1  -1   1   0   -1             # j >= i+1
+1   0  -1   1    0             # j <= n
+0 0 0
+
+1 # Fifth statement: 1 domain 
+
+# First domain
+
+6 6                    # 6 lines and 6 columns
+#   i   j   k   n    1
+1   1   0   0   0   -1         # i >= 1
+1  -1   0   0   1    0         # n >= i
+1  -1   1   0   0   -1         # j >= i+1
+1   0  -1   0   1    0         # j <= n
+1   0   0   1   0   -1         # k >= 1
+1   1   0  -1   0   -1         # k <= i-1
+0 0 0
+
+1 # Sixth statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   j   n    1
+1   1   0   0   -1             # i >= 1
+1  -1   0   1    0             # n >= i
+1  -1   1   0   -1             # j >= i+1
+1   0  -1   1    0             # j <= n
+0 0 0
+
+
+1 # We manually set the iterator names
+i j k
+
+
+# ------------------------ Scattering -------------------
+
+6 # Number of scattering functions
+
+
+# First function
+3 7                                    # 3 lines and 7 columns
+#   p1  p2  p3   i   n   1
+0    1   0   0  -2   0  -2             # p1 = 2i+2
+0    0   1   0   0   0   0             # p2 = 0
+0    0   0   1   0   0   0             # p3 = 0
+
+# Second function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0  -1                 # p1 = 2i+2j+1
+0    0   1   0   0   j   0   0                 # p2 = j
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+# Third function
+3 7                                    # 3 lines and 7 columns
+#   p1  p2  p3   i   n   1     
+0    1   0   0  -4   0  -1             # p1 = 4i+1
+0    0   1   0   0   0   0             # p2 = 0
+0    0   0   1   0   0   0             # p3 = 0
+
+# Fourth function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0   0                 # p1 = 2i+2j
+0    0   1   0   1   0   0   0                 # p2 = -i
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+
+# Fifth function
+3 9                                    # 3 lines and 9 columns
+#   p1  p2  p3   i   j   k   n   1
+0    1   0   0  -2  -2   0   0   0     # p1 = 2i+2j
+0    0   1   0   1   0   0   0  -1     # p2 = -i+1
+0    0   0   1   0   0  -1   0   0     # p3 = k
+
+# Sixth function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0   0                 # p1 = 2i+2j
+0    0   1   0   1   0   0  -2                 # p2 = -i+2
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+1 # Manually set the scattering dimensions
+p1 p2 p3
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/vivien2.c.polylib b/test/vivien2.c.polylib
new file mode 100644 (file)
index 0000000..4f9896a
--- /dev/null
@@ -0,0 +1,673 @@
+/* Generated from vivien2.cloog by CLooG v0.14.0 gmp bits in 0.51s. */
+/* CLooG asked for 1188 KBytes. */
+for (p1=-54*n+4;p1<=4;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+S3(i = 1) ;
+S4(i = 1,j = 2) ;
+S1(i = 2) ;
+S6(i = 1,j = 2) ;
+for (p1=7;p1<=9;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=10;p1<=12;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  for (i=max(ceild(p1+1,4),3);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+S3(i = 3) ;
+for (i=4;i<=5;i++) {
+  j = -i+6 ;
+  S2 ;
+}
+for (p1=14;p1<=2*n+2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=2*n+3;p1<=2*n+4;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-5;p1<=2*n+58;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+3,2),ceild(-p1+10,4));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+59;p1<=4*n-10;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+2*n+1,2),ceild(-p1+6,4));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+p1 = 4*n-1 ;
+j = n-1 ;
+S2(i = n) ;
+for (p1=4*n;p1<=4*n+1;p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+}
diff --git a/test/vivien2.c.ppl b/test/vivien2.c.ppl
new file mode 100644 (file)
index 0000000..11d7ddf
--- /dev/null
@@ -0,0 +1,676 @@
+/* Generated from ./vivien2.cloog by CLooG 0.15 64 bits in 0.62s. */
+for (p1=-54*n+4;p1<=4;p1++) {
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+S3(i = 1) ;
+S4(i = 1,j = 2) ;
+S1(i = 2) ;
+S6(i = 1,j = 2) ;
+for (p1=7;p1<=9;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=10;p1<=12;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  for (i=max(ceild(p1+1,4),3);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+S3(i = 3) ;
+for (i=4;i<=5;i++) {
+  j = -i+6 ;
+  S2 ;
+}
+for (p1=14;p1<=2*n+2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=-1;p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=floord(p1-3,2);i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+  if (p1%2 == 0) {
+    j = (p1-2)/2 ;
+    S6(i = 1) ;
+  }
+}
+for (p1=2*n+3;p1<=2*n+4;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=-1;p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  if (p1%2 == 0) {
+    j = (p1-4)/2 ;
+    S6(i = 2) ;
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+5;p1<=min(4*n-10,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=min(floord(-p1+2*n+4,2),-1);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-9;p1<=min(4*n-8,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-7;p1<=min(4*n-6,2*n+58);p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=4*n-5;p1<=2*n+58;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+  if (p1%2 == 0) {
+    i = (p1-2)/2 ;
+    S1 ;
+  }
+}
+for (p1=2*n+59;p1<=4*n-10;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+9,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-9,2*n+59);p1<=4*n-8;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-7,2*n+59);p1<=4*n-6;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+5,4);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=ceild(-p1+6,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+1,2);p2<=floord(-p1+9,4);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+10,4);p2<=floord(-p1+2*n+2,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=ceild(-p1+2*n+3,2);p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+for (p1=max(4*n-5,2*n+59);p1<=4*n-2;p1++) {
+  for (p2=ceild(-p1+2,4);p2<=floord(-p1+2*n,2);p2++) {
+    if (p1%2 == 0) {
+      j = (p1+2*p2)/2 ;
+      S4(i = -p2) ;
+    }
+  }
+  for (p2=max(ceild(-p1+6,4),ceild(-p1+2*n+1,2));p2<=floord(-p1+2*n+2,2);p2++) {
+    for (p3=1;p3<=-p2;p3++) {
+      i = -p2+1 ;
+      if (p1%2 == 0) {
+        j = (p1+2*p2-2)/2 ;
+        S5(k = p3) ;
+      }
+    }
+  }
+  for (p2=max(ceild(-p1+10,4),ceild(-p1+2*n+3,2));p2<=floord(-p1+2*n+4,2);p2++) {
+    i = -p2+2 ;
+    if (p1%2 == 0) {
+      j = (p1+2*p2-4)/2 ;
+      S6 ;
+    }
+  }
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+  for (i=ceild(p1+1,4);i<=n;i++) {
+    if ((p1+1)%2 == 0) {
+      j = (p1-2*i-1)/2 ;
+      S2 ;
+    }
+  }
+}
+p1 = 4*n-1 ;
+if (1%2 == 0) {
+  i = (2*n-1)/2 ;
+  S3 ;
+}
+j = n-1 ;
+S2(i = n) ;
+for (p1=4*n;p1<=4*n+1;p1++) {
+  if ((p1+3)%4 == 0) {
+    i = (p1-1)/4 ;
+    S3 ;
+  }
+}
diff --git a/test/vivien2.cloog b/test/vivien2.cloog
new file mode 100644 (file)
index 0000000..7fe716e
--- /dev/null
@@ -0,0 +1,156 @@
+#    Context
+c # output in language C
+
+1 # no constraints on parameters
+1 3 # 1 line and 3 columns
+
+# n 1
+1 1 -30  # 0 >= 0 always true
+
+1      # Setting manually the parameter' sname
+n      # The name
+
+
+
+# --------------------  Statements  ------------------
+6 # Number of statements
+
+
+1 # First statement: 1 domain 
+
+# First domain
+
+2 4                    # 2 lines and 4 columns
+#   i   n    1
+1   1   27   -1                # i >= 1
+1  -1   1    28                # n >= i
+0 0 0
+
+1 # Second statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   k   n    1
+1   1   29   0   -1            # i >= 1
+1  -1   0   1    0             # n >= i
+1   0   1   0   -1             # k >= 1
+1   1  -1   0   -1             # k <= i-1
+0 0 0
+
+
+1 # Third statement: 1 domain 
+
+# First domain
+
+2 4                    # 2 lines and 4 columns
+#   i   n    1
+1   1   0   -1         # i >= 1
+1  -1   1    0         # n >= i
+0 0 0
+
+
+1 # Fourth statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   j   n    1
+1   1   0   0   -1             # i >= 1
+1  -1   0   1    0             # n >= i
+1  -1   1   0   -1             # j >= i+1
+1   0  -1   1    0             # j <= n
+0 0 0
+
+1 # Fifth statement: 1 domain 
+
+# First domain
+
+6 6                    # 6 lines and 6 columns
+#   i   j   k   n    1
+1   1   0   0   0   -1         # i >= 1
+1  -1   0   0   1    0         # n >= i
+1  -1   1   0   0   -1         # j >= i+1
+1   0  -1   0   1    0         # j <= n
+1   0   0   1   0   -1         # k >= 1
+1   1   0  -1   0   -1         # k <= i-1
+0 0 0
+
+1 # Sixth statement: 1 domain 
+
+# First domain
+
+4 5                    # 4 lines and 5 columns
+#   i   j   n    1
+1   1   0   0   -1             # i >= 1
+1  -1   0   1    0             # n >= i
+1  -1   1   0   -1             # j >= i+1
+1   0  -1   1    0             # j <= n
+0 0 0
+
+
+1 # We manually set the iterator names
+i j k
+
+
+# ------------------------ Scattering -------------------
+
+6 # Number of scattering functions
+
+
+# First function
+3 7                                    # 3 lines and 7 columns
+#   p1  p2  p3   i   n   1
+0    1   0   0  -2   0  -2             # p1 = 2i+2
+0    0   1   0   0   0   0             # p2 = 0
+0    0   0   1   0   0   0             # p3 = 0
+
+# Second function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0  -1                 # p1 = 2i+2j+1
+0    0   1   0   0   j   0   0                 # p2 = j
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+# Third function
+3 7                                    # 3 lines and 7 columns
+#   p1  p2  p3   i   n   1     
+0    1   0   0  -4   0  -1             # p1 = 4i+1
+0    0   1   0   0   0   0             # p2 = 0
+0    0   0   1   0   0   0             # p3 = 0
+
+# Fourth function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0   0                 # p1 = 2i+2j
+0    0   1   0   1   0   0   0                 # p2 = -i
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+
+# Fifth function
+3 9                                    # 3 lines and 9 columns
+#   p1  p2  p3   i   j   k   n   1
+0    1   0   0  -2  -2   0   0   0     # p1 = 2i+2j
+0    0   1   0   1   0   0   0  -1     # p2 = -i+1
+0    0   0   1   0   0  -1   0   0     # p3 = k
+
+# Sixth function
+3 8                                    # 3 lines and 8 columns
+#   p1  p2  p3   i   j   n   1
+0    1   0   0  -2  -2   0   0                 # p1 = 2i+2j
+0    0   1   0   1   0   0  -2                 # p2 = -i+2
+0    0   0   1   0   0   0   0                 # p3 = 0
+
+1 # Manually set the scattering dimensions
+p1 p2 p3
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/wavefront.c.polylib b/test/wavefront.c.polylib
new file mode 100644 (file)
index 0000000..2e54be9
--- /dev/null
@@ -0,0 +1,10 @@
+/* Generated from ./test/wavefront.cloog by CLooG v0.14.0 64 bits in 0.00s. */
+/* CLooG asked for 168 KBytes. */
+if ((n >= 1) && (m >= 1)) {
+  for (c1=2;c1<=n+m;c1++) {
+    for (c2=max(1,c1-m);c2<=min(n,c1-1);c2++) {
+      j = c1-c2 ;
+      S1(i = c2) ;
+    }
+  }
+}
diff --git a/test/wavefront.c.ppl b/test/wavefront.c.ppl
new file mode 100644 (file)
index 0000000..f44a403
--- /dev/null
@@ -0,0 +1,9 @@
+/* Generated from ./wavefront.cloog by CLooG 0.15 64 bits in 0.01s. */
+if ((n >= 1) && (m >= 1)) {
+  for (c1=2;c1<=n+m;c1++) {
+    for (c2=max(c1-m,1);c2<=min(c1-1,n);c2++) {
+      j = c1-c2 ;
+      S1(i = c2) ;
+    }
+  }
+}
diff --git a/test/wavefront.cloog b/test/wavefront.cloog
new file mode 100644 (file)
index 0000000..980816a
--- /dev/null
@@ -0,0 +1,28 @@
+c 
+
+1
+1 4
+# n   m   1
+1 0   0   1
+1
+n m 
+
+1 
+
+1
+4 6
+#   i   j   n   m   1
+1   1   0   0   0  -1
+1  -1   0   1   0   0
+1   0   1   0   0  -1
+1   0  -1   0   1   0
+0   0   0
+
+0
+
+1
+2 8
+#  c1  c2   i   j   n   m   1
+0   1   0  -1  -1   0   0   0
+0   0   1  -1   0   0   0   0
+0
diff --git a/test/yosr.c.polylib b/test/yosr.c.polylib
new file mode 100644 (file)
index 0000000..2450336
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated by CLooG v0.10.7 */
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    S1(i = 1) ;
+  }
+}
+for (proc=2;proc<=n-1;proc++) {
+  for (i=1;i<=proc-1;i++) {
+    for (j=i+1;j<=n;j++) {
+      S2(k = proc) ;
+    }
+  }
+  for (j=proc+1;j<=n;j++) {
+    S1(i = proc) ;
+  }
+}
+if (n >= 2) {
+  for (i=1;i<=n-1;i++) {
+    for (j=i+1;j<=n;j++) {
+      S2(k = n) ;
+    }
+  }
+}
diff --git a/test/yosr.c.ppl b/test/yosr.c.ppl
new file mode 100644 (file)
index 0000000..1ce94de
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated from ./yosr.cloog by CLooG 0.15 64 bits in 0.01s. */
+if (n >= 2) {
+  for (j=2;j<=n;j++) {
+    S1(i = 1) ;
+  }
+}
+for (proc=2;proc<=n-1;proc++) {
+  for (i=1;i<=proc-1;i++) {
+    for (j=i+1;j<=n;j++) {
+      S2(k = proc) ;
+    }
+  }
+  for (j=proc+1;j<=n;j++) {
+    S1(i = proc) ;
+  }
+}
+if (n >= 2) {
+  for (i=1;i<=n-1;i++) {
+    for (j=i+1;j<=n;j++) {
+      S2(k = n) ;
+    }
+  }
+}
diff --git a/test/yosr.cloog b/test/yosr.cloog
new file mode 100644 (file)
index 0000000..cefa035
--- /dev/null
@@ -0,0 +1,65 @@
+# language: C
+c
+
+# One parameter : n
+1 3
+#  n  1
+1  0  1
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+2 # Number of statements: 2.
+
+1
+# {i, j | 1<=i<=n-1; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1 -1
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+
+1
+# {i, j, k | 1<=i<=n-1; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1 -1
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0  0  0
+# We want to let CLooG set the iterator names.
+0
+
+2
+# Scattering functions
+1 6
+# c1  i  j  n  1
+0  1 -1  0  0  0
+
+1 7
+# c1  i  j  k  n  1
+0  1  0  0 -1  0  0
+1
+proc
+
+2
+# Scattering functions
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0
+0  0  0  1  0  0  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0  0  0 -1  0  0
+0  0  1  0  0  0  0  0 -1
+0  0  0  1  0  0 -1  0  0
+0
+
diff --git a/test/yosr.omega b/test/yosr.omega
new file mode 100644 (file)
index 0000000..ff85f45
--- /dev/null
@@ -0,0 +1,17 @@
+# CLooG -> OMEGA
+# This is an automatic dump of an input file from a CloogProgram data
+# structure. It can be correct ONLY if dumped before loop generation.
+
+# Context (1 parameter(s)).
+Symbolic n ;
+
+# Iteration domains:
+IS10:={[i,j]: i-1>=0 && -i+j-1>=0 && -j+n>=0 && 1>=0} ;
+IS20:={[i,j,k]: i-1>=0 && -i+j-1>=0 && -j+n>=0 && -i+k-1>=0 && -k+n>=0 && 1>=0} ;
+
+# Schedules:
+T10:={[i,j] -> [i,i,j,0]} ;
+T20:={[i,j,k] -> [k,i,j,k]} ;
+
+# CodeGen call:
+codegen 4 T10:IS10, T20:IS20 ;
diff --git a/test/yosr2.c.polylib b/test/yosr2.c.polylib
new file mode 100644 (file)
index 0000000..9b4a3ba
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated by CLooG v0.10.7 */
+for (i=1;i<=M;i++) {
+  S2 ;
+}
+for (proc=2;proc<=M-1;proc++) {
+  for (i=1;i<=proc-1;i++) {
+    S4(j = proc) ;
+  }
+  for (j=1;j<=proc-1;j++) {
+    S1(i = proc) ;
+  }
+  for (j=proc+1;j<=M;j++) {
+    for (k=1;k<=proc-1;k++) {
+      S3(i = proc) ;
+    }
+  }
+}
+for (i=1;i<=M-1;i++) {
+  S4(j = M) ;
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
diff --git a/test/yosr2.c.ppl b/test/yosr2.c.ppl
new file mode 100644 (file)
index 0000000..c04f458
--- /dev/null
@@ -0,0 +1,23 @@
+/* Generated from ./yosr2.cloog by CLooG 0.15 64 bits in 0.02s. */
+for (i=1;i<=M;i++) {
+  S2 ;
+}
+for (proc=2;proc<=M-1;proc++) {
+  for (i=1;i<=proc-1;i++) {
+    S4(j = proc) ;
+  }
+  for (j=1;j<=proc-1;j++) {
+    S1(i = proc) ;
+  }
+  for (j=proc+1;j<=M;j++) {
+    for (k=1;k<=proc-1;k++) {
+      S3(i = proc) ;
+    }
+  }
+}
+for (i=1;i<=M-1;i++) {
+  S4(j = M) ;
+}
+for (j=1;j<=M-1;j++) {
+  S1(i = M) ;
+}
diff --git a/test/yosr2.cloog b/test/yosr2.cloog
new file mode 100644 (file)
index 0000000..e9dea4a
--- /dev/null
@@ -0,0 +1,71 @@
+# language: C
+c
+
+# parameter n
+1 3
+#  n  1
+1  1 -2
+0
+
+4 # Number of statements
+
+1
+# S2 {k, l | 1<=k<=n; 1<=l<=k-1}
+4 5
+#  k  l  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -1
+1  1 -1  0 -1
+0  0  0
+
+1
+# S3 {k | 1<=k<=n}
+2 4
+#  k  n  1
+1  1  0 -1
+1 -1  1  0
+0  0  0
+
+1
+# S5 {k, i, m | 1<=k<=n; k+1<=i<=n 1<=m<=k-1}
+6 6
+#  k  i  m  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1  0  0  1  0 -1
+1  1  0 -1  0 -1
+0  0  0
+
+1
+# S4 {k, i | 1<=k<=n; k+1<=i<=n}
+4 5
+#  k  i  n  1
+1  1  0  0 -1
+1 -1  0  1  0
+1 -1  1  0 -1
+1  0 -1  1  0
+0  0  0
+0
+
+
+4 # Scattering functions
+1 6
+# c1  k  l  n  1
+0  1 -1  0  0  0
+
+1 5
+# c1  k  n  1
+0  1  0  0  0
+
+1 7
+# c1  k  i  m  n  1
+0  1 -1  0  0  0  0
+
+1 6
+# c1  k  i  n  1
+0  1  0 -1  0  0
+1
+proc
diff --git a/test/yosr_sync.cloog b/test/yosr_sync.cloog
new file mode 100644 (file)
index 0000000..4b67c4d
--- /dev/null
@@ -0,0 +1,102 @@
+# language: C
+c
+
+# One parameter : n
+1 3
+#  n  1
+1  1 -2
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+2 # Number of statements: 2.
+
+1
+# {i, j | 1<=i<=n-1; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1 -1
+1 -1  1  0 -1
+1  0 -1  1  0
+
+#-----------------
+1 # SYNCHRONIZATION INFOS
+
+1 # POST
+# {i, j | 1<=i<=n-1; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1 -1
+1 -1  1  0 -1
+1  0 -1  1  0
+
+0 # No WAIT
+#-----------------
+0  0
+
+1
+# {i, j, k | 1<=i<=n-1; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1 -1
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+
+#-----------------
+1 # SYNCHRONIZATION INFOS
+
+0 # No POST
+
+1 # One WAIT
+1 # First WAIT
+# {i, j, k | 1<=i<=n-1; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1 -1
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+
+1 # Source
+#-----------------
+0  0
+
+
+# We want to let CLooG set the iterator names.
+0
+
+2
+# Scattering functions
+1 6
+# c1  i  j  n  1
+0  1 -1  0  0  0
+
+1 7
+# c1  i  j  k  n  1
+0  1  0  0 -1  0  0
+1
+proc
+
+2
+# Scattering functions
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0
+0  0  0  1  0  0  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0  0  0 -1  0  0
+0  0  1  0  0  0  0  0 -1
+0  0  0  1  0  0 -1  0  0
+0
+
diff --git a/test/yosrf.cloog b/test/yosrf.cloog
new file mode 100644 (file)
index 0000000..1661ef7
--- /dev/null
@@ -0,0 +1,65 @@
+# language: FORTRAN
+f
+
+# One parameter : n
+1 3
+#  n  1
+1  0  1
+# We want to set the parameter names...
+1
+# and 'n' is the name of the unique parameter
+n
+
+2 # Number of statements: 2.
+
+1
+# {i, j | 1<=i<=n-1; i+1<=j<=n}
+4 5
+#  i  j  n  1
+1  1  0  0 -1
+1 -1  0  1 -1
+1 -1  1  0 -1
+1  0 -1  1  0
+0 0 0
+
+1
+# {i, j, k | 1<=i<=n-1; i+1<=j<=n i+1<=k<=n}
+6 6
+#  i  j  k  n  1
+1  1  0  0  0 -1
+1 -1  0  0  1 -1
+1 -1  1  0  0 -1
+1  0 -1  0  1  0
+1 -1  0  1  0 -1
+1  0  0 -1  1  0
+0 0 0
+# We want to let CLooG set the iterator names.
+0
+
+2
+# Scattering functions
+1 6
+# c1  i  j  n  1
+0  1 -1  0  0  0
+
+1 7
+# c1  i  j  k  n  1
+0  1  0  0 -1  0  0
+1
+proc
+
+2
+# Scattering functions
+3 8
+# c1 c2 c3  i  j  n  1
+0  1  0  0 -1  0  0  0
+0  0  1  0  0  0  0  0
+0  0  0  1  0  0  0  0
+
+3 9
+# c1 c2 c3  i  j  k  n  1
+0  1  0  0  0  0 -1  0  0
+0  0  1  0  0  0  0  0 -1
+0  0  0  1  0  0 -1  0  0
+0
+
diff --git a/test/yosrf.f.polylib b/test/yosrf.f.polylib
new file mode 100644 (file)
index 0000000..14b9630
--- /dev/null
@@ -0,0 +1,23 @@
+! Generated by CLooG v0.10.7
+IF (n >= 2) THEN
+  DO j=2, n
+    S1(i = 1)
+  END DO
+END IF
+DO proc=2, n-1
+  DO i=1, proc-1
+    DO j=i+1, n
+      S2(k = proc)
+    END DO
+  END DO
+  DO j=proc+1, n
+    S1(i = proc)
+  END DO
+END DO
+IF (n >= 2) THEN
+  DO i=1, n-1
+    DO j=i+1, n
+      S2(k = n)
+    END DO
+  END DO
+END IF
diff --git a/test/yosrf.f.ppl b/test/yosrf.f.ppl
new file mode 100644 (file)
index 0000000..365fcb8
--- /dev/null
@@ -0,0 +1,23 @@
+! Generated from ./yosrf.cloog by CLooG 0.15 64 bits in 0.01s.
+IF (n >= 2) THEN
+  DO j=2, n
+    S1(i = 1)
+  END DO
+END IF
+DO proc=2, n-1
+  DO i=1, proc-1
+    DO j=i+1, n
+      S2(k = proc)
+    END DO
+  END DO
+  DO j=proc+1, n
+    S1(i = proc)
+  END DO
+END DO
+IF (n >= 2) THEN
+  DO i=1, n-1
+    DO j=i+1, n
+      S2(k = n)
+    END DO
+  END DO
+END IF
diff --git a/test/youcefn.cloog b/test/youcefn.cloog
new file mode 100644 (file)
index 0000000..3b7c0e1
--- /dev/null
@@ -0,0 +1,49 @@
+# Optimal code is in fact :
+# 
+# for (i=0;i<=M;i++) {
+#   S1 ;
+#   for (j=0;j<=N;j++) {
+#     S2 ;
+#   }
+#   S3 ;
+# }
+
+# language: C
+c
+
+# parameters {n, m | n>=2 m>=n}
+2  4
+1  1  0 -2
+1 -1  1  0
+1
+n m
+
+3 # Number of statements
+
+1
+# {i | 0<=i<=n i==j}
+3 6
+1  1  0  0  0 -1
+1 -1  0  1  0  0
+0  1 -1  0  0  0
+0  0  0
+
+1
+# {i | 0<=i<=n i<=j<=n}
+4 6
+1  1  0  0  0 -1
+1 -1  0  1  0  0
+1 -1  1  0  0  0
+1  0 -1  1  0  0
+0  0  0
+
+1
+# {i | 0<=i<=m j==n}
+3 6
+1  1  0  0  0 -1
+1 -1  0  0  1  0
+0  0  1 -1  0  0
+0  0  0
+0
+0 # Scattering functions